Znak má pevnou šířku, což znamená, že velikost úložiště hodnoty znaku je rovna maximální velikosti sloupce/ Proměnné.
Varchar má proměnnou délku. Velikost úložiště, kterou používá Varchar, závisí na skutečných uložených znacích.
Příklad 1:
Vytvořme několik proměnných a poté uložme stejný řetězec a zkontrolujme úložiště používané funkcí datalength na serveru SQL Server.Deklarovat @Variable1 CHAR(20)Deklarovat @Variable2 VARCHAR(20)SET @ Proměnná1='TechBrothersIT'SET @Variable2='TechBrothersIT'Vyberte délku dat (@Variable1) jako VarLength1, délku dat (@Variable2) jako VarLength2Jaký je rozdíl mezi CHAR a VARCHAR na SQL Server - T-SQL výukový program
Jak můžete viz výše, Char zabíral 20 bajtů prostoru pro 20 znaků, i když jsme ušetřili pouze 14 znaků. Na druhou stranu Varchar použil pouze 14 bajtů k uložení 14 znaků.
Příklady 2:
Vytvořme tabulku se dvěma sloupci, jednou char a dalším datovým typem varchat. Uložte stejné informace a poté zkontrolujte místo obsazené každou hodnotou pomocí funkce datalength.Vytvořte tabulku dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert do dbo.CharVsVarCharValues('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')goVyberte DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarCharChar vs Varchar v SQL Server – SQL Server / Výukový program T-SQL Vidíme, že Char vždy zabírá stejné místo bez ohledu na počet nebo uložený počet znaků. Na druhou stranu obsazené místo Varchar se liší v závislosti na počtu uložených znaků.
V případech, kdy víme, že budeme ukládat pevný počet znaků, můžeme použít Char jinak použít Varchar.