Char hat eine feste Breite, das bedeutet, dass die Speichergröße des Char-Werts gleich der maximalen Größe der Spalte/Variablen ist.
Varchar hat eine variable Länge. Die von Varchar verwendete Speichergröße hängt von den tatsächlich gespeicherten Zeichen ab.
Beispiel 1:
Lassen Sie uns ein paar Variablen erstellen und dann denselben String speichern und den Speicher überprüfen, der von der Datenlängenfunktion in SQL Server verwendet wird.Declare @Variable1 CHAR(20)Declare @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2Was ist der Unterschied zwischen CHAR und VARCHAR in SQL Server – T-SQL-Lernprogramm
Wie Sie können siehe oben, Char belegte 20 Bytes Platz für 20 Zeichen, obwohl wir nur 14 Zeichen gespart haben. Andererseits verwendete Varchar nur 14 Bytes, um 14 Zeichen zu speichern.
Beispiele 2:
Lassen Sie uns eine Tabelle mit zwei Spalten erstellen, einmal char und andere varchat-Datentypen. Speichern Sie die gleichen Informationen und prüfen Sie dann den von jedem Wert belegten Platz mithilfe der Datenlängenfunktion.Erstellen Sie eine Tabelle dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarCharWerte('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')goWählen Sie DataLength(CharName) AS CHARNameLength, DataLength(VarName) AS VarNameLength From dbo.CharVsVarCharChar vs. Varchar in SQL Server – SQL Server / T-SQL-Tutorial Wir können sehen, dass Char immer denselben Platz einnimmt, unabhängig von der Anzahl oder den gespeicherten Zeichen. Andererseits variiert der belegte Platz von Varchar in Abhängigkeit von der Anzahl der gespeicherten Zeichen.
In Fällen, in denen wir wissen, dass wir eine feste Anzahl von Zeichen speichern werden, können wir Char verwenden, andernfalls Varchar.