NVarchar ist auch ein Zeichendatentyp mit variabler Länge, der zum Speichern des UniCode-Datenformats verwendet wird. Für Unicode-Datenformate können Sie sich Alphabete der chinesischen, japanischen, koreanischen und arabischen Sprache vorstellen.
Varchar kann 'englische' Zeichen speichern und es dauert ein Byte, um jedes Zeichen zu speichern. Nvarchar kann englische und andere Sprachzeichen speichern. NVarchar benötigt zwei Bytes, um jedes Zeichen zu speichern.
Lassen Sie uns zwei Variablen erstellen und den von jeder Variablen verwendeten Speicherplatz überprüfen.
Declare @Variable1 VARCHAR(20) Declare @Variable2 NVARCHAR(20) SET @Variable1='TechBrothersIT' SET @Variable2='TechBrothersIT' Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2
Was ist der Unterschied zwischen VARCHAR und NVARCHAR – SQL Server Tutorial
Wie wir haben Deklarieren Sie @Variable2 als NVarchar, es brauchte doppelt so viel Platz wie @Variable1, das Varchar ist, um die Zeichen zu speichern.
Erstellen wir eine Tabelle mit Spalten vom Typ Varchar und NVarchar und fügen Sie wenige ein Datensätze.
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-Tutorial
Unsere erste Select-Abfrage hat uns zurückgegeben die Daten. Bemerkt, dass wir einige Datenmüll haben ????. Auch wenn wir den Datentyp der Spalte NVarchar definiert haben, fügte er den Müll ein. Um Unicode-Daten in die Spalte vom Typ Nvarchar einzufügen, müssen wir N mit Daten verwenden, wie Sie in der zweiten Einfügung sehen können (('عامر',N'عامر')).