❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

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

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

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

Beitrag von Pit Zyclade » Mo 15. Jul 2019, 13:37

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
Zuletzt geändert von Pit Zyclade am Mo 15. Jul 2019, 19:03, insgesamt 1-mal geändert.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

nikki
* LO-Experte *
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

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

Beitrag von nikki » Mo 15. Jul 2019, 15:11

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,  '.', ',') 
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

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

Beitrag von Pit Zyclade » Mo 15. Jul 2019, 15:32

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.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

nikki
* LO-Experte *
Beiträge: 1026
Registriert: Sa 18. Mär 2017, 22:25
Kontaktdaten:

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

Beitrag von nikki » Mo 15. Jul 2019, 16:06

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
Gruß

---------------------------------------------------
Win.10 Prof. 64-bit, LO 6.3.4 (x64), LO 6.2.6 Portable, AOO 4.1.7

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

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

Beitrag von F3K Total » Mo 15. Jul 2019, 16:07

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
Windows 11: AOO, LO Linux Mint: AOO, LO

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

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

Beitrag von Pit Zyclade » Mo 15. Jul 2019, 18:03

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.
Zuletzt geändert von Pit Zyclade am Di 16. Jul 2019, 12:56, insgesamt 3-mal geändert.
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

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

Beitrag von F3K Total » Mo 15. Jul 2019, 18:24

ich zitiere dich mal ...
PZ.PNG
PZ.PNG (3.79 KiB) 2781 mal betrachtet
Windows 11: AOO, LO Linux Mint: AOO, LO

Pit Zyclade
* LO-Experte *
Beiträge: 3060
Registriert: Mo 12. Nov 2012, 16:59

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

Beitrag von Pit Zyclade » Mo 15. Jul 2019, 19:06

Manchmal muß man was zeitlich aufschieben, weil die Frau nachhause kommt... :oops:
LO 24.8.7.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten