Größe der varchar-Spalten

9

In SQL-Server macht es einen Unterschied, wenn ich eine Varchar-Spalte der Länge 32 oder 128 definieren?

    
Addi 07.10.2008, 06:06
quelle

3 Antworten

11

Ein varchar ist ein variables Zeichenfeld. Dies bedeutet, dass Textdaten auf eine bestimmte Länge gespeichert werden können. Ein varchar (32) kann nur 32 Zeichen enthalten, während ein varchar (128) 128 Zeichen enthalten kann. Wenn ich versuchte, "12345" in ein varchar (3) Feld einzugeben; Dies sind die Daten, die gespeichert werden:

"123"

Die "45" wird "abgeschnitten" (verloren).

Sie sind sehr nützlich in Fällen, in denen Sie wissen, dass ein bestimmtes Feld nur eine bestimmte Länge (oder nur sollte sein). Zum Beispiel: eine Postleitzahl oder ein Zustandsabkürzungszeichen. Tatsächlich werden sie im Allgemeinen für fast alle Arten von Textdaten verwendet (z. B. Namen / Adressen usw.). In diesen Fällen müssen Sie jedoch darauf achten, dass die von Ihnen angegebene Nummer für die Art der Daten, die ausgefüllt werden sollen, normal ist diese Spalte.

Sie müssen jedoch auch vorsichtig sein, wenn Sie sie verwenden, damit der Benutzer nur die maximale Anzahl von Zeichen eingeben kann, die das Feld unterstützt. Andernfalls kann es Verwirrung stiften, wenn die Eingabe des Benutzers abgeschnitten wird.

    
nlaq 07.10.2008 06:48
quelle
3

Es sollte keinen merklichen Unterschied geben, da das Backend nur die Datenmenge speichert, die Sie in diese Spalte einfügen. Es wird nicht wie bei einer Char-Spalte auf die volle Größe des Feldes aufgefüllt.

Bearbeiten: Für weitere Informationen sollte dieser Link nützlich sein.

    
Jarod Elliott 07.10.2008 06:08
quelle
3

Es sollte nicht. Es definiert nur die maximale Länge, die es aufnehmen kann, die tatsächlich verwendete Länge hängt von den eingegebenen Daten ab.

    
Nrj 07.10.2008 06:12
quelle