mace Geschrieben 16. März 2005 Teilen Geschrieben 16. März 2005 Hallo, habe eine Frage zu diesem Thema: und zwar sagt das mysql Referenzhandbuch ja: "Wenn CHAR-Werte gespeichert werden, werden sie am rechten Ende bis zur festgelegten Länge mit Leerzeichen aufgefüllt." Das heisst bei einem Wert von 'ab' in einem CHAR(4) Feld, wird daraus 'ab ' Dies ist Hauptunterscheidungsmerkmal zu VARCHAR Feldern... Leider macht mein mysql (4.0) das scheinbar nicht, er füllt die verbleibende Länge einfach nicht mit Leerzeichen aus. Jedenfalls sieht man diese nicht in der Tabelle, ist das normal? Gruss, Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bionaut Geschrieben 17. März 2005 Teilen Geschrieben 17. März 2005 Guten Morgen, ... das scheinbar nicht, er füllt die verbleibende Länge einfach nicht mit Leerzeichen aus. Jedenfalls sieht man diese nicht in der Tabelle, ist das normal?... wenn man im Referenzhandbuch weiterliest: Wenn CHAR-Werte abgerufen werden, werden die Leerzeichen am Ende entfernt. http://dev.mysql.com/doc/mysql/de/char.html Gruessle bio* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mace Geschrieben 17. März 2005 Autor Teilen Geschrieben 17. März 2005 Ja das habe ich natürlich auch gelesen, also zählt das betrachten der Tabelle dann also auch schon zu abrufen?! Wie bewirke ich dann das die Leerzeichen nicht beim abrufen entfernt werden? Denn selbst wenn ich sie per Hand reinschreibe werden sie ja entfernt... Brauche unbedingt die Möglichkeit Werte rechts mit Leerzeichen auffüllen zu können, die dann auch so in der Tabelle stehen... Wie geht das ?? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bionaut Geschrieben 17. März 2005 Teilen Geschrieben 17. März 2005 In der Tabelle stehen sie ja, werden aber beim Abruf abgeschnitten. Da Du aber weisst, wie gross das Datenfeld ist, kannst Du ja eine Funktion schreiben, die Dir die Anzahl der Chars ermittelt und dann die noetigen Leerzeichen hinzufuegt. Gruessle bio* Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 17. März 2005 Teilen Geschrieben 17. März 2005 siehe manual string-functions: http://dev.mysql.com/doc/mysql/en/string-functions.html RPAD(str,len,padstr) Returns the string str, right-padded with the string padstr to a length of len characters. If str is longer than len, the return value is shortened to len characters. mysql> SELECT RPAD('hi',5,'?'); -> 'hi???' mysql> SELECT RPAD('hi',1,'?'); -> 'h' Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mace Geschrieben 17. März 2005 Autor Teilen Geschrieben 17. März 2005 OK ich versuche mal mit diesen Informationen etwas rumzubasteln! Aber es wär halt am schönsten wenn die Leerzeichen nicht beim abrufen weg wären. Wenn ich zum Beispiel Tabellen aus unserer AS/400 nach Access verknüpfe, habe ich die Leerzeichen immer mit drin, dachte in mysql wär das auch einfacher möglich... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.