![]() |
Datenbank: Oracle Database • Version: 11g Express Edition • Zugriff über: DBExpress
Oracle Unnötige Leerzeichen werden mit gespeichert
Hallo zusammen,
ich habe eine Tabelle erstellt. In dieser Tabelle befindet sich eine Spalte vom Typ Char mit einer Größe von 25 Zeichen. Mit folgender select-Anweisung versuche ich herauszufinden, ob die Bezeichnung bereits vorhanden ist.
Delphi-Quellcode:
Wenn ich eine bereits vorhandene Bezeichnung eingebe, kommt trotzdem dei Meldung in Zeile 15.
1 with q_kat_select do
2 begin 3 close; 4 sql.Clear; 5 sql.Add('select * from at_kategorie where bezeichnung = :bezeichnung'); 6 parambyname('bezeichnung').AsString := e_bezeichnung.Text; 7 open; 8 if = fieldbyname('bezeichnung').AsString = e_bezeichnung.Text then 9 showmessage('Vorhanden') 10 else 11 showmessage('Anlegen'); 12 13 end; Das Problem ist, dass beim speichern nicht nur die Bezeichnung, sondern auch Leerzeichen mit gespeichert werden. Wenn die Bezeichnung 10 Zeichen hat, setzt Oracle 15 Leerzeichen dazu. Nun meine Frage. Gibt es eine Möglichekeit, dass Leerzeichen nicht mitgespeichert werden? Diese Phänomen habe ich nur in Oracle. |
AW: Oracle Unnötige Leerzeichen werden mit gespeichert
Das Verhalten ist normal.
Den Datentyp CHAR verwendet man dann, wenn vor vornerein klar ist wieviele Zeichen gebraucht werden. Zum Beispiel
Code:
Wenn man Strings mit variable Länge bis zu einer best. Obergrenze speichern möchte nimmt man VARCHAR.
IsoLand CHAR(2)
ISBN_13 CHAR(13) Steuernummer CHAR(13) PS: Oracle hat natürlich vom Standard abweichende Datentypen. Kleine Übersicht hier: ![]() |
AW: Oracle Unnötige Leerzeichen werden mit gespeichert
Hallo,
vielen Dank für den wertvollen Tipp. Ich habe es gleich probiert und es funktioniert. :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz