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

Кой е най-добрият SQL тип данни за съхраняване на JSON низ?

Със сигурност НЕ :

  • TEXT, NTEXT :тези типове са отхвърлени от SQL Server 2005 и не трябва да се използва за нова разработка. Използвайте VARCHAR(MAX) или NVARCHAR(MAX) вместо това

  • IMAGE , VARBINARY(MAX) :IMAGE е отхвърлен точно като TEXT/NTEXT , и наистина няма смисъл да съхранявате текстов низ в двоична колона....

Така че основно остава VARCHAR(x) или NVARCHAR(x) :VARCHAR съхранява не-Unicode низове (1 байт на знак) и NVARCHAR съхранява всичко в режим Unicode 2 байта на знак. И така, имате ли нужда от Unicode? Имате ли потенциално арабски, иврит, китайски или други незападноевропейски символи във вашите низове? След това отидете с NVARCHAR

(N)VARCHAR колоните се предлагат в два вида:или дефинирате максимална дължина, която води до 8000 байта или по-малко (VARCHAR до 8000 знака, NVARCHAR до 4000), или ако това не е достатъчно, използвайте (N)VARCHAR(MAX) версии, които съхраняват до 2 GByte данни.

Актуализация: SQL Server 2016 ще има собствена поддръжка на JSON - нов JSON тип данни (който е базиран на nvarchar ), както и FOR JSON команда за преобразуване на изход от заявка във формат JSON

Актуализация №2: в крайния продукт Microsoft не е включил отделен JSON тип данни - вместо това има редица JSON-функции (за опаковане на редове от база данни в JSON или за анализиране на JSON в релационни данни), които работят с колони от тип NVARCHAR(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. Обяснение на НЯКОИ оператор на SQL Server

  2. SQL единична колона, разделена на множество колони

  3. Преобразувайте „smalldatetime“ в „date“ в SQL Server (T-SQL примери)

  4. Как да промените име на база данни в SQL Server с помощта на T-SQL

  5. Вземете състояние на работа на SQL Server