Char er fast bredde, det betyder, at lagerstørrelsen af char-værdien er lig med den maksimale størrelse af kolonnen/variablen.
Varchar er variabel længde. Lagerstørrelsen, der bruges af Varchar, afhænger af de faktiske gemte tegn.
Eksempel 1:
Lad os oprette et par variable og derefter gemme den samme streng og kontrollere lageret brugt af datalength-funktionen i SQL Server.Declare @Variable1 CHAR(20)Declare @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Vælg datalength(@Variable1) som VarLength1, datalength(@Variable2) som VarLength2Hvad er forskellen mellem CHAR og VARCHAR i SQL Server - T-SQL Tutorial
Som du kan se ovenfor, Char optog 20 bytes plads til 20 tegn, selv om vi kun gemte 14 tegn. På den anden side brugte Varchar kun 14 bytes til at gemme 14 tegn.
Eksempler 2:
Lad os oprette en tabel med to kolonner, én gang char og andre varchat-datatyper. Gem de samme oplysninger, og kontroller derefter pladsen optaget af hver værdi ved at bruge datalængdefunktionen.Opret tabel dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarCharVærdier('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')goVælg DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength Fra dbo.CharVsVarCharChar vs Varchar i SQL Server - SQL Server / T-SQL vejledning Vi kan se, at Char altid optager den samme plads uanset antal eller gemte tegn. På den anden side varierer Varchar plads optaget afhængigt af antallet af gemte tegn.
I tilfælde, hvor vi ved, at vi skal gemme et fast antal tegn, kan vi bruge Char ellers bruge Varchar.