Schlüsseldifferenz: In Datenbanksystemen wie SQL Server sind Char und Varchar beide Datentypen, wobei Char tatsächlich auf Zeichen und Varchar auf Variablenzeichen verweist. Beide werden zum Speichern von String-Werten mit einer maximalen Länge von 8.000 Zeichen verwendet. Die Speichergröße von char ist dieselbe wie angegeben, wohingegen die Stufe sechs von Varchar von den Bytes der tatsächlich eingegebenen Daten abhängt.
Nehmen wir ein Beispiel - wenn ein Char-Daten auf eine bestimmte Art und Weise deklariert wird: deklarieren Sie test Char (20) und test = "testing". Der Test belegt dann zuerst 7 Bytes und der Rest wird mit leeren Daten gefüllt. Wenn dagegen Varchar-Daten auf eine Weise deklariert werden: deklarieren Sie test Varchar (20) und test = "testing", dann belegen sie nur 7 + 2 Bytes.
Char sollte verwendet werden, wenn die Länge der Variablen bekannt ist, während Varchar nur verwendet werden sollte, wenn die Länge unbekannt ist. Char ist schneller als Varchar, da das Varchar-System etwas Zeit benötigt, um die Zeit zum Ermitteln des Endes der Saite zu ermitteln. Auf der anderen Seite wird diese Zeit nicht in Char verschwendet.
Vergleich zwischen Char und Varchar:
Verkohlen | Varchar | |
Vollständige Form | Charakter | Variable Zeichen (in Kontext zu Zeichen variabler Länge) |
Bedeutung | Wird zum Speichern von Nicht-Unicode-String-Daten fester Länge verwendet | Wird zum Speichern von Nicht-Unicode-Stringdaten mit variabler Länge verwendet |
Für die Speicherung verwendete Bytes | 1 Byte pro Zeichen | 1 Byte pro Zeichen und 1 oder 2 Byte zusätzlich zum Speichern von Längeninformationen |
Anwendung | Zum Speichern von Daten wie Telefonnummern usw. (Dateneingaben sind konsistent.) | Zum Speichern von Daten wie Adresse verwendet (Dateneinträge variieren stark) |
Bedingung: Eingabezeichenfolge weniger als deklarierte Bytes | Das Leerzeichen ohne Zeichen wird mit Leerzeichen aufgefüllt | Das Leerzeichen ohne Zeichen wird mit keinem der Zeichen aufgefüllt |
Bedingung: Eingabezeichenfolge mehr als deklarierte Bytes | Die Zeichenfolge wird auf deklarierte Bytes gekürzt | Die Zeichenfolge wird auf deklarierte Bytes gekürzt. |