Tecken är fast bredd, det betyder att lagringsstorleken för char-värdet är lika med den maximala storleken på kolumnen/variabeln.
Varchar är variabel längd. Storleken på lagringsutrymmet som används av Varchar beror på de faktiska tecken som sparats.
Exempel 1:
Låt oss skapa ett par variabler och sedan spara samma sträng och kontrollera lagringen som används av datalängdfunktionen i SQL Server.Deklarera @Variable1 CHAR(20)Declare @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Välj datalength(@Variable1) som VarLength1, datalength(@Variable2) som VarLength2Vad är skillnaden mellan CHAR och VARCHAR i SQL Server - T-SQL Tutorial
Som du kan se ovan, Char upptog 20 byte utrymme för 20 tecken även om vi bara sparade 14 tecken. Å andra sidan använde Varchar bara 14 byte för att lagra 14 tecken.
Exempel 2:
Låt oss skapa en tabell med två kolumner, en gång char och annan varchat-datatyp. Lagra samma information och kontrollera sedan utrymmet som upptas av varje värde genom att använda datalängdfunktionen.Skapa tabell dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarCharVärden('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')goVälj DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength Från dbo.CharVsVarCharChar vs Varchar i SQL Server - SQL Server / T-SQL Tutorial Vi kan se att Char alltid upptar samma utrymme oavsett antal eller sparade tecken. Å andra sidan varierar det upptagna utrymmet för Varchar beroende på antalet sparade tecken.
I de fall vi vet att vi kommer att lagra ett fast antal tecken, kan vi använda Char annars använder vi Varchar.