Zusätzliche Leerzeichen werden am Ende der Spalte hinzugefügt

8

Wenn ich Daten in einer Tabelle speichere, werden dem Wert am Ende zusätzliche Leerzeichen hinzugefügt. Ich habe beobachtet, dass die Spaltenlänge 5 ist, wenn ich einen Wert von 3 Zeichenlänge einfüge, werden 2 zusätzliche Leerzeichen hinzugefügt. Kann jemand, wie man dieses Problem löst.

    
SKumar 29.12.2010, 17:36
quelle

3 Antworten

22

Ist der Spaltentyp CHAR(5) anstelle von VARCHAR(5) ?

  • CHAR(x) erstellt eine Spalte, die immer x Zeichen speichert und die Daten mit Leerzeichen auffüllt.
  • VARCHAR(x) erstellt eine Spalte, die die Länge der Zeichenfolgen an die eingefügten Daten anpasst.
Chris Shaffer 29.12.2010, 17:38
quelle
4

Dies ist eine Eigenschaft des CHAR -Datentyps. Wenn Sie keine zusätzlichen Leerzeichen möchten, müssen Sie VARCHAR verwenden, obwohl für ein kleines Feld ein minimaler Overhead im Vergleich zum Standard CHAR auftritt. Davon abgesehen wird angenommen, dass VARCHAR heutzutage so gut ist wie CHAR .

    
Aliostad 29.12.2010 17:39
quelle
0

CHAR-Variablen speichern diese zusätzliche Auffüllung, vielleicht müssen Sie stattdessen VARCHAR2-Variablen verwenden?

    
Sir Funk 29.12.2010 17:44
quelle