Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Каква е разликата между VARCHAR и NVARCHAR в SQL сървър - SQL Server / T-SQL урок, част 32

Varchar е символен тип данни с променлива дължина, който се използва за съхраняване на не-Unicode формат на данни. Можете да мислите за не-Unicode като английски знаци.

NVarchar също е тип данни за символи с променлива дължина, който се използва за съхраняване на формат на данни UniCode. За форматите на данни Unicode можете да мислите за азбуки на китайски, японски, корейски и арабски език.

Varchar може да съхранява „английски“ символи и отнема един байт, за да съхрани всеки знак. Nvarchar може да съхранява знаци на английски и други езици. NVarchar отнема два байта, за да съхранява всеки знак.

Нека създадем две променливи и да проверим пространството, използвано от всяка променлива.

Деклариране @Variable1 VARCHAR(20)Деклариране @ Variable2 NVARCHAR(20)SET @Variable1='TechBrothersIT'SET @Variable2='TechBrothersIT'Изберете дължина на данните(@Variable1) като VarLength1, дължина на данните(@Variable2) като VarLength2

Каква е разликата между VARCHAR и NVARCHAR - урок за SQL Server

Както имаме декларираме @Variable2 като NVarchar, отне два пъти повече място в сравнение с @Variable1, което е Varchar за съхраняване на знаците.


Нека създадем таблица с колони Varchar и NVarchar тип данни и да вмъкнем няколко записи.

Създайте таблица dbo.VarcharVsNvarchar( VarcharName Varchar(50),NVarcharName NVARCHAR(50))вмъкнете в dbo.VarcharVsNvarchar Стойности('عامر','عامر'),('عامر ',N'عامر'),('TechBrothersIT',N'TechBrothersIT')Изберете * от dbo.VarcharVsNvarchargoSelect DataLength(VarcharName) КАТО CHARNameLength,DataLength(NVarcharName) КАТО VarNameLength от dbo.VarcharVsNvarchargoИзберете дължина на данните(VarcharName) КАТО CHARNameLength,DataLength(NVarcharName) КАТО VarNameLength от dbo.VarcharVsNvarchargo. 
Varchar VS Nvarchar в SQL Server - TSQL урок

Първата ни заявка Select ни върна информацията. Забелязахме, че имаме някакви данни за боклук ????. Дори да сме дефинирали типа данни на колона NVarchar, той вмъкна боклука. За да вмъкнем Unicode данни в колона тип Nvarchar, трябва да използваме N с данни, както можете да видите във второто вмъкване (('عامر',N'عامر')).


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Операцията не е валидна за състоянието на грешката на транзакцията и обхвата на транзакцията

  2. Как да генерирате поле за автоматично увеличение в заявка за избор

  3. Какво е СТАТИСТИЧЕСКО ВРЕМЕ в SQL Server?

  4. 3 начина за преобразуване на цяло число в десетично число в SQL Server

  5. Как да извлечете или конвертирате времеви данни от низ в SQL Server