NVarchar is ook een gegevenstype met variabele lengte dat wordt gebruikt om het UniCode-gegevensformaat op te slaan. Voor Unicode-gegevensindelingen kunt u denken aan alfabetten van de Chinese, Japanse, Koreaanse en Arabische taal.
Varchar kan 'Engelse' tekens opslaan en het kost één byte om elk teken op te slaan. Nvarchar kan tekens in het Engels en in andere talen opslaan. NVarchar neemt twee bytes om elk teken op te slaan.
Laten we twee variabelen maken en de ruimte controleren die door elke variabele wordt gebruikt.
Declare @Variable1 VARCHAR(20) Declare @Variable2 NVARCHAR(20) SET @Variable1='TechBrothersIT' SET @Variable2='TechBrothersIT' Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2
Wat is het verschil tussen VARCHAR en NVARCHAR - SQL Server-zelfstudie
Zoals we hebben declareer @Variable2 als NVarchar, het kostte twee keer zoveel ruimte in vergelijking met @Variable1 wat Varchar is om de tekens op te slaan.
Laten we een tabel maken met Varchar- en NVarchar-gegevenstypekolommen en er enkele invoegen 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 in SQL Server - TSQL-zelfstudie
Onze eerste Select-query heeft ons teruggestuurd de data. Merkte op dat we wat rommelgegevens hebben ????. Zelfs we hebben het gegevenstype van kolom NVarchar gedefinieerd, het heeft de vuilnis ingevoegd. Om Unicode-gegevens in de kolom Nvarchar-type in te voegen, moeten we N gebruiken met gegevens, zoals u kunt zien in de tweede invoeging (('عامر',N'عامر')).