sql >> Database >  >> RDS >> Sqlserver

Wat is het verschil tussen VARCHAR en NVARCHAR in SQL-server - SQL Server / T-SQL-zelfstudie, deel 32

Varchar is een gegevenstype met variabele lengte dat wordt gebruikt om niet-Unicode-gegevensindelingen op te slaan. U kunt niet-Unicode beschouwen als Engelse karakters.

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


  1. De EXECUTE-toestemming is geweigerd voor het object 'xxxxxxx', database 'zzzzzzz', schema 'dbo'

  2. Is het Google Data Analytics Professional-certificaat de moeite waard?

  3. PHP mysql datumnotatie invoegen

  4. SQL Server Failover Cluster Installatie -2