BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice Forum zu erhalten!

❤️ DANKE >><< DANKE ❤️

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🤗 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
Beiträge: 2674
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 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

nikki
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
Beiträge: 2674
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 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

nikki
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
Beiträge: 2409
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 10: AOO, LO Linux Mint: AOO, LO

Pit Zyclade
Beiträge: 2674
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 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

F3K Total
Beiträge: 2409
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) 2100 mal betrachtet
Windows 10: AOO, LO Linux Mint: AOO, LO

Pit Zyclade
Beiträge: 2674
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 7.5.8.2 (X86_64) / AOO 4.1.14 / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
Einfach per Kreditkarte oder PayPal.
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten