Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Quelle est la différence entre CHAR et VARCHAR dans SQL Server - Tutoriel SQL Server / T-SQL Partie 31

CAR etVARCHAR les deux types de données sont utilisés pour stocker des chaînes de caractères.

Char est une largeur fixe, cela signifie que la taille de stockage de la valeur char est égale à la taille maximale de la colonne/variable.

/>Varchar est de longueur variable. La taille de stockage utilisée par Varchar dépend des caractères réels enregistrés.


Exemple 1 :

Créons quelques variables, puis enregistrons la même chaîne et vérifions le stockage utilisé par la fonction datalength dans SQL Server.

Déclarez @Variable1 CHAR(20)Déclarez @Variable2 VARCHAR(20)SET @ Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Sélectionnez datalength(@Variable1) comme VarLength1, datalength(@Variable2) comme VarLength2
 
 Quelle est la différence entre CHAR et VARCHAR dans SQL Server - Tutoriel T-SQL
Comme vous pouvez voir ci-dessus, Char occupait 20 octets d'espace pour 20 caractères même si nous n'avons enregistré que 14 caractères. D'autre part, Varchar n'utilisait que 14 octets pour stocker 14 caractères.


Exemples 2 :

Créons une table avec deux colonnes, une fois char et un autre type de données varchat. Stockez les mêmes informations, puis vérifiez l'espace occupé par chaque valeur à l'aide de la fonction datalength.
Créez la table dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarChar  
Valeurs('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')aller
Sélectionnez DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarChar
 
 Char vs Varchar dans SQL Server - Tutoriel SQL Server / T-SQL 
 
 Nous pouvons voir que Char occupe toujours le même espace quel que soit le nombre ou les caractères enregistrés. D'autre part, l'espace occupé par Varchar varie en fonction du nombre de caractères enregistrés.
Dans les cas où nous savons que nous allons stocker un nombre fixe de caractères, nous pouvons utiliser Char, sinon utiliser Varchar.