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

Каква е разликата между varchar и nvarchar?

nvarchar колоната може да съхранява всякакви Unicode данни. varchar колоната е ограничена до 8-битова кодова страница. Някои хора смятат, че varchar трябва да се използва, защото заема по-малко място. Вярвам, че това не е правилният отговор. Несъвместимостта на кодовите страници е болка, а Unicode е лек за проблеми с кодовите страници. С евтините дискове и памет в днешно време, наистина няма причина да губите време да се занимавате с кодови страници.

Всички съвременни операционни системи и платформи за разработка използват вътрешно Unicode. С помощта на nvarchar вместо varchar , можете да избегнете извършването на преобразувания на кодиране всеки път, когато четете или пишете в базата данни. Преобразуванията отнемат време и са предразположени към грешки. А възстановяването от грешки при преобразуване е нетривиален проблем.

Ако взаимодействате с приложение, което използва само ASCII, все пак бих препоръчал използването на Unicode в базата данни. Алгоритмите за съпоставяне на ОС и база данни ще работят по-добре с Unicode. Unicode избягва проблеми с конвертирането при взаимодействие с други системи. И ще се подготвите за бъдещето. И винаги можете да потвърдите, че вашите данни са ограничени до 7-битов ASCII за каквато и наследена система, която трябва да поддържате, дори докато се наслаждавате на някои от предимствата на пълното съхранение на Unicode.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да задам стойност на променлива с помощта на 'execute' в t-sql?

  2. Добавяне на акаунт в база данни за поща към профил (T-SQL)

  3. Как да замените NULL с друга стойност в SQL Server – ISNULL()

  4. Как да получите списък с всички езици в SQL Server (T-SQL)

  5. 3 начина за конвертиране на HEX в INT в SQL Server (T-SQL)