NVarchar est également un type de données de caractères de longueur variable qui est utilisé pour stocker le format de données UniCode. Pour les formats de données Unicode, vous pouvez penser aux alphabets chinois, japonais, coréen et arabe.
Varchar peut stocker des caractères "anglais" et il faut un octet pour stocker chaque caractère. Nvarchar peut stocker des caractères anglais et d'autres langues. NVarchar prend deux octets pour stocker chaque caractère.
Créons deux variables et vérifions l'espace utilisé par chaque variable.
Declare @Variable1 VARCHAR(20) Declare @Variable2 NVARCHAR(20) SET @Variable1='TechBrothersIT' SET @Variable2='TechBrothersIT' Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2
Quelle est la différence entre VARCHAR et NVARCHAR - Tutoriel SQL Server
Comme nous l'avons déclarons @Variable2 comme NVarchar, il a fallu deux fois plus d'espace par rapport à @Variable1 qui est Varchar pour stocker les caractères.
Créons une table avec des colonnes de type Varchar et NVarchar Data et insérons quelques records.
Create table dbo.VarcharVsNvarchar( VarcharName Varchar(50),NVarcharName NVARCHAR(50)) insert into dbo.VarcharVsNvarchar Values ('عامر','عامر'), ('عامر',N'عامر'), ('TechBrothersIT',N'TechBrothersIT') Select * from dbo.VarcharVsNvarchar go Select DataLength(VarcharName) AS CHARNameLength,DataLength(NVarcharName) AS VarNameLength From dbo.VarcharVsNvarchar
Varchar VS Nvarchar dans SQL Server - Tutoriel TSQL
Notre première requête Select nous a renvoyé les données. Remarqué que nous avons des données de déchets ????. Même si nous avons défini le type de données de la colonne NVarchar, il a inséré la poubelle. Pour insérer des données Unicode dans la colonne de type Nvarchar, nous devons utiliser N avec les données comme vous pouvez le voir dans la deuxième insertion (('عامر',N'عامر')).