sql >> Databáze >  >> RDS >> Sqlserver

Jaký je rozdíl mezi VARCHAR a NVARCHAR na SQL serveru - SQL Server / T-SQL výukový program, část 32

Varchar je znakový datový typ s proměnnou délkou, který se používá k ukládání dat ve formátu Non-Unicode. Non-Unicode si můžete představit jako anglické znaky.

NVarchar je také znakový datový typ s proměnnou délkou, který se používá k ukládání datového formátu UniCode. Pro datové formáty Unicode si můžete představit abecedy čínského, japonského, korejského a arabského jazyka.

Varchar může ukládat „anglické“ znaky a uložení každého znaku trvá jeden bajt. Nvarchar může ukládat anglické a jiné jazykové znaky. NVarchar vezme dva bajty pro uložení každého znaku.

Vytvořme dvě proměnné a zkontrolujme prostor, který každá proměnná využívá.

Deklarovat @Variable1 VARCHAR(20)Deklarovat @ Proměnná2 NVARCHAR(20)SET @Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Vyberte délku dat (@Variable1) jako VarLength1, délku dat (@Variable2) jako VarLength2

Jaký je rozdíl mezi VARCHAR a NVARCHAR - SQL Server Tutorial

Jako máme deklarovat @Variable2 jako NVarchar, zabralo to dvakrát více místa ve srovnání s @Variable1, což je Varchar k uložení znaků.


Vytvořme tabulku se sloupci typu dat Varchar a NVarchar a vložte několik záznamů.

Vytvořit tabulku dbo.VarcharVsNvarchar( VarcharName Varchar(50),NVarcharName NVARCHAR(50))vložit do dbo.VarcharVsNvarchar Values('عامر','عامام'),('رعام ',N'عامر'),('TechBrothersIT',N'TechBrothersIT')Vyberte * z dbo.VarcharVsNvarchargoSelect DataLength(VarcharName) AS CHARNameLength,DataLength(NarcharName) AS VarNameLength From dsNVvar>DsNchar>. 
Varchar VS Nvarchar v SQL Server – výukový program TSQL

Náš první výběrový dotaz nám vrátil data. Všimli jsme si, že máme nějaká data o odpadcích ????. I když jsme definovali datový typ sloupce NVarchar, vložili jsme odpadky. Chcete-li vložit data Unicode do sloupce typu Nvarchar, musíme použít N s daty, jak můžete vidět na druhém vložení (('عامر',N'عامر')).


  1. Jak minimalizovat RPO pro vaše databáze PostgreSQL pomocí Point in Time Recovery

  2. Dělená tabulka Oracle

  3. Proč se výsledky z dotazu SQL nevracejí v očekávaném pořadí?

  4. lomítko před každým problémem s citací