Char is een vaste breedte, dat betekent dat de opslaggrootte van de char-waarde gelijk is aan de maximale grootte van de kolom/variabele.
Varchar heeft een variabele lengte. De opslaggrootte die door Varchar wordt gebruikt, hangt af van de daadwerkelijk opgeslagen tekens.
Voorbeeld 1:
Laten we een paar variabelen maken en vervolgens dezelfde string opslaan en de opslag controleren die wordt gebruikt door de datalength-functie in SQL Server.Declare @Variable1 CHAR(20) Declare @Variable2 VARCHAR(20) SET @Variable1='TechBrothersIT' SET @Variable2='TechBrothersIT' Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2
Wat is het verschil tussen CHAR en VARCHAR in SQL Server - T-SQL-zelfstudie
Zoals u kunt zie hierboven, Char nam 20 bytes ruimte in beslag voor 20 tekens, zelfs als we slechts 14 tekens hebben opgeslagen. Aan de andere kant gebruikte Varchar slechts 14 bytes om 14 tekens op te slaan.
Voorbeelden 2:
Laten we een tabel maken met twee kolommen, een keer char en een ander varchat-gegevenstype. Sla dezelfde informatie op en controleer vervolgens de ruimte die door elke waarde wordt ingenomen met behulp van de datalength-functie.Create table dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50)) insert into dbo.CharVsVarChar
Values ('Aamir','Aamir'), ('TechBrothersIT','TechBrothersIT') ,('Raza','Raza') go
Select DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarChar
Char vs Varchar in SQL Server - SQL Server / T-SQL-zelfstudie
We kunnen zien dat Char altijd dezelfde ruimte inneemt, ongeacht het aantal of de opgeslagen tekens. Aan de andere kant varieert de gebruikte Varchar-ruimte afhankelijk van het aantal opgeslagen tekens.
In gevallen waarin we weten dat we een vast aantal tekens gaan opslaan, kunnen we Char gebruiken, anders Varchar gebruiken.