🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

[gelöst] sql: Zahleninhalte in zahl wandeln ?

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

[gelöst] sql: Zahleninhalte in zahl wandeln ?

Beitrag von Pit Zyclade » Mo 23. Mär 2026, 16:50

Ich habe eine
Datenbanktabelle XXX
Spalte A decimal , 8, 2, Formatbeispiel 0,00
Spalte B text varchar, 100, Formatbeispiel @

In B sind ausschließlich Zahlen von der Art 100,99 (maximal dreistellig, zwei Dezimalstellen)

Ich möchte den Inhalt von Spalte B nach A kopieren, so dass ich später Spalte B löschen kann.

Mein Ziel ist nämlich eine Abfrage mit Sortierung nach dem Zahlenwert zu erhalten (also nicht nach Buchstaben, also 90,0 soll nicht mehr sein 100,0)

update XXX set "A" = substring("B") oder ähnlich oder ganz andere Befehlszeilen ?
Wie sehen andere Umwandlungsbefehle aus?

Danke für Hilfe
Pit
Zuletzt geändert von Pit Zyclade am Mi 25. Mär 2026, 11:20, insgesamt 3-mal geändert.
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: sql: numerische textinhalte in zahl wandeln ?

Beitrag von Pit Zyclade » Di 24. Mär 2026, 10:57

Hallo SQL-Experten!

UPDATE "XXX" set "A" = cast("B" as decimal)
ergibt auch nur Fehler (wörtlich: Wrong data type: java.lang.NumberFormatException)

Ich habe keine Idee und kann die Hinweise im Web nicht deuten.
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

RobertG
* LO-Experte *
Beiträge: 2960
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: sql: Zahleninhalte in zahl wandeln ?

Beitrag von RobertG » Di 24. Mär 2026, 15:41

Wenn, dann müsste das ja auch
CAST("b" AS DECIMAL(8,2))
sein, oder?
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

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

Re: sql: Zahleninhalte in zahl wandeln ?

Beitrag von Pit Zyclade » Di 24. Mär 2026, 19:45

Hallo Robert, du hast sicher die meiste Erfahrung...

Ich habe versucht:
UPDATE "XXX" SET "A" = CAST("B" AS DECIMAL(8,2))
und erhalte:
Wrong data type: java.lang.NumberFormatException

Ich kann die Befehle auch klein schreiben, aber das ändert nichts.
irgendwo ist ein Fehler drin (und du weißt, das ich gar kein Experte bin). Ich suche nur EIN funktionierendes Beispiel...
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

RobertG
* LO-Experte *
Beiträge: 2960
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: sql: Zahleninhalte in zahl wandeln ?

Beitrag von RobertG » Mi 25. Mär 2026, 08:57

Der Haken sind wohl die angeblichen "Zahlen":
'100,99' kann eine Datenbank nicht in eine Zahl umwandeln, da der Dezimaltrenner ein Komma ist.

Code: Alles auswählen

CAST(REPLACE("A",',','.') AS DECIMAL(8,2))
wird da wohl helfen - hier gerade einmal für eine Abfrage getestet.
Da brauche ich dann auch keine Spalte um zu wandeln. Mit der internen HSQLDB funktioniert

Code: Alles auswählen

SELECT "ID", "Text", CAST(REPLACE("Text",',','.') AS DECIMAL(8,2)) AS "Zahl" FROM "tbl_TextZahl" ORDER BY "Zahl"
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

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

Re: sql: Zahleninhalte in zahl wandeln ?

Beitrag von Pit Zyclade » Mi 25. Mär 2026, 09:55

Hallo Robert (@RobertG)
Daran hatte ich auch schon gedacht als ich im Internet recherchierte. Aber das waren überwiegend ausländische Diskutanden. Wir haben doch LO auf Deutschland eingestellt und Zahlen haben Kommata. Auch die Formateinstellung in der HSQLDB haben doch Zahlen mit Komma. SQL ist wohl ausschließlich auf english ?! (Müssen die Chinesen auch Informatik in Englisch praktizieren? Wohin geht die Welt eigentlich mit KI?)

Deine Vorschläge werde ich heut noch testen...

Bis dann!
LO 25.8.6.2 (X86_64) / Windows 11 64bit
Problem gelöst? Dann bitte im Betreff der ersten Nachricht [gelöst] voranstellen.

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

Re: sql: Zahleninhalte in zahl wandeln ?

Beitrag von Pit Zyclade » Mi 25. Mär 2026, 11:20

Hallo Robert,

Ja, beide Vorschläge funktionieren!
Der zweite ist deine Expertenlösung für die sofortige Nutzung meiner Abfrage und ich habe sie bleibend notiert!

Aber wenn ich zukünftig mal eine andere Abfrage gestalte, ist eine bleibende Änderung der Formatierung des Feldes auf decimal einfacher für eine Sortierung nach Zahl mit ORDER BY.

Die wichtigste Sache für mich bleibt, dass man bei Umgestaltung mit CAST eine englische Zahl mit Punkt statt Komma voraussetzt!

Dreimal Danke!
LO 25.8.6.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:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
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