Seite 1 von 1

[gelöst] SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 13:37
von Pit Zyclade
Liebe Experten,
Ich habe Zahlen aus Feldern einer Tabellenspalte in eine neue Tabellenspalte mit varchar(100) übernommen und hernach die Spaltenlänge auf varchar(10) reduziert. Soweit scheinbar alles gut.

Jetzt bemerke ich aber, dass alle Zahlen sich in das Format xx.xx (Punktzahlen) gewandelt haben, obwohl sie im Original ja Kommazahlen waren. (Die Stellen vor und nach dem "." bzw. "," varriieren.)

Gibt es einen guten SQL-Befehl, mit dem man die Zeichenketten von Punkt- in Komma-Zahlen (textlich) umformen kann?
Z.Zt. will ich mit diesen Zahlen nicht rechnen. Es geht mir nur um eine durchgängige Anzeigekorrektheit.

Danke für gedankliche Anregung

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 15:11
von nikki
Hallo Pit,
Pit Zyclade hat geschrieben:
Mo 15. Jul 2019, 13:37
Gibt es einen guten SQL-Befehl, mit dem man die Zeichenketten von Punkt- in Komma-Zahlen (textlich) umformen kann?
müsste bei einer Firebird-Datenbank folgender SQL-Befehl sein:

Code: Alles auswählen

replace (FELDNAME,  '.', ',') 

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 15:32
von Pit Zyclade
Danke,
Leider handelt es sich um die eingebaute HSQLDB.
Selbst zum Probieren, ob es den REPLACE-Befehl gibt, müßte ich ja irgendwie den Namen der Tabelle einbringen, bevor der Feldname=Spaltenname käme. Denn bei geöffneter Tabelle kann man kein SQL mehr aufrufen, sondern nur nach Öffnen der DB, üblicherweise mit "UPDATE" ... Wenn man damit die Tabelle aufruft, dann will er SET haben. Danach dann irgendwie REPLACE habe ich versucht, aber "token REPLACE" will die Maschine nicht.

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 16:06
von nikki
Hallo Pit,
gemäß dieser Beschreibung ist der Replace-Befehl bei HSQLDB identisch. Nur, wo man den Befehl bei LO unterbringen kann, da bin ich überfragt.

Im BASE-Handbuch ist der Befehl beschrieben, allerdings steht dort auch: Funktion im Report-Designer

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 16:07
von F3K Total
Also, wenn die Tabelle Tabelle1 heißt, und die Varchar-Spalte heißt TEXT, dann geht über Menü Extras/SQL...

Code: Alles auswählen

Update "Tabelle1" set TEXT = REPLACE(TEXT,'.',',')
Gruß R

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 18:03
von Pit Zyclade
Jaa, das war für mich der richtige Anstoß. Danke euch beiden!

Ein klein wenig Feinarbeit war (für mich) notwendig:
Den Spaltennamen an beiden Stellen wie immer in ",
aber den Such- und Ersatzbegriff in ' einschließen.

Code: Alles auswählen

Update "Tabellenname" set "Spaltenname" = REPLACE("Spaltenname",'.',',')
Wenn der Suchbegriff nicht verstanden wird, weil ebenfalls " genommen wurde, wird
Column not found: .
gemeldet.

Re: SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 18:24
von F3K Total
ich zitiere dich mal ...
PZ.PNG
PZ.PNG (3.79 KiB) 2108 mal betrachtet

Re: [gelöst] SQL Umwandlung varchar xx.xx in xx,xx

Verfasst: Mo 15. Jul 2019, 19:06
von Pit Zyclade
Manchmal muß man was zeitlich aufschieben, weil die Frau nachhause kommt... :oops: