sql >> Databáze >  >> RDS >> Sqlserver

Jaký je rozdíl mezi CHAR a VARCHAR v SQL Server - SQL Server / T-SQL výukový program, část 31

CHAR a VARCHAR oba datové typy se používají k ukládání řetězců znaků.

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 VarLength2
 
 Jaký 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.CharVsVarChar  
Values('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')go
Vyberte DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarChar
 
 Char 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.


  1. Datový model platformy půjček peer-to-peer

  2. android.database.CursorIndexOutOfBoundsException

  3. Formátovat výsledky dotazu SQLite jako sloupce se záhlavími sloupců

  4. UPPER() – Převod na velká písmena v PostgreSQL