sql >> Databasteknik >  >> RDS >> Sqlserver

Vad är skillnaden mellan CHAR och VARCHAR i SQL Server - SQL Server / T-SQL Tutorial Del 31

CHAR och VARCHAR båda datatyperna används för att lagra teckensträngar.

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 VarLength2
 
 Vad ä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.CharVsVarChar  
Värden('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')go
Välj DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength Från dbo.CharVsVarChar
 
 Char 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.


  1. Vad gör en transaktion kring ett enskilt uttalande?

  2. Aggregera kolumner med ytterligare (distinkta) filter

  3. T-SQL Datetime Data Type

  4. Oracle PL/SQL - samlingar (kapslade tabeller)