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.
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.
Exemples 2 :Créez la table dbo.CharVsVarChar( CHARName CHAR(50),VARName VARCHAR(50))insert into dbo.CharVsVarCharValeurs('Aamir','Aamir'),('TechBrothersIT','TechBrothersIT'),('Raza','Raza')allerSélectionnez DataLength(CharName) AS CHARNameLength,DataLength(VarName) AS VarNameLength From dbo.CharVsVarCharChar vs Varchar dans SQL Server - Tutoriel SQL Server / T-SQLNous 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.