sql >> Database teknologi >  >> RDS >> Sqlserver

Hvad er forskellen mellem VARCHAR og NVARCHAR i SQL server - SQL Server / T-SQL Tutorial Del 32

Varchar er datatype med variabel længde, som bruges til at gemme ikke-Unicode-dataformat. Du kan tænke på Non-Unicode som engelske tegn.

NVarchar er også datatype med variabel længde, som bruges til at gemme UniCode-dataformat. For Unicode-dataformater kan du tænke på alfabeter af kinesisk, japansk, koreansk og arabisk.

Varchar kan lagre 'engelske' tegn, og det tager en byte at gemme hvert tegn. Nvarchar kan gemme tegn på engelsk og andre sprog. NVarchar tager to bytes for at gemme hvert tegn.

Lad os oprette to variable og kontrollere pladsen, der bruges af hver variabel.

Declare @Variable1 VARCHAR(20)
Declare @Variable2 NVARCHAR(20)

SET @Variable1='TechBrothersIT'
SET @Variable2='TechBrothersIT'

Select datalength(@Variable1) as VarLength1, datalength(@Variable2) as VarLength2

Hvad er forskellen mellem VARCHAR og NVARCHAR - SQL Server Tutorial

Som vi har erklærer @Variable2 som NVarchar, det tog dobbelt så meget plads sammenlignet med @Variable1, som er Varchar, at gemme tegnene.


Lad os oprette en tabel med Varchar og NVarchar Datatypekolonner og indsætte nogle få poster.

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 i SQL Server - TSQL Tutorial

Vores første udvalgte forespørgsel returnerede os dataene. Har bemærket, at vi har nogle affaldsdata ????. Selv vi har defineret datatypen for kolonne NVarchar, det indsatte skraldet. For at indsætte Unicode-data i kolonnen Nvarchar skal vi bruge N med data, som du kan se i anden indsættelse (('عامر',N'عامر')).


  1. Oracle CLOB kan ikke indsætte mere end 4000 tegn?

  2. Slip af fra en kolonne duplikatværdier i to kolonnevalg

  3. Eksporter Oracle-forespørgselsresultater til en HTML-fil, når du bruger SQLcl

  4. Et første kig på den nye SQL Server Cardinality Estimator