Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist der Unterschied zwischen VARCHAR und NVARCHAR in SQL Server - SQL Server / T-SQL-Tutorial Teil 32

Varchar ist ein Zeichendatentyp mit variabler Länge, der zum Speichern von Nicht-Unicode-Datenformaten verwendet wird. Sie können sich Nicht-Unicode als englische Zeichen vorstellen.

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'عامر')).