Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Apa tipe data SQL terbaik untuk menyimpan string JSON?

Tentu saja TIDAK :

  • TEXT, NTEXT :jenis tersebut tidak digunakan lagi pada SQL Server 2005 dan tidak boleh digunakan untuk pengembangan baru. Gunakan VARCHAR(MAX) atau NVARCHAR(MAX) sebagai gantinya

  • IMAGE , VARBINARY(MAX) :IMAGE sudah usang seperti TEXT/NTEXT , dan tidak ada gunanya menyimpan string teks ke dalam kolom biner....

Sehingga pada dasarnya meninggalkan VARCHAR(x) atau NVARCHAR(x) :VARCHAR menyimpan string non-Unicode (1 byte per karakter) dan NVARCHAR menyimpan semuanya dalam mode Unicode 2-byte-per-karakter. Jadi, apakah Anda memerlukan Unicode? Apakah Anda memiliki karakter Arab, Ibrani, Cina, atau karakter non-Barat-Eropa lainnya di string Anda, berpotensi? Lalu pergi dengan NVARCHAR

(N)VARCHAR kolom datang dalam dua rasa:apakah Anda menentukan panjang maksimum yang menghasilkan 8000 byte atau kurang (VARCHAR hingga 8000 karakter, NVARCHAR hingga 4000), atau jika itu tidak cukup, gunakan (N)VARCHAR(MAX) versi, yang menyimpan hingga 2 GByte data.

Pembaruan: SQL Server 2016 akan memiliki dukungan JSON asli - JSON baru tipe data (yang didasarkan pada nvarchar ) akan diperkenalkan, serta FOR JSON perintah untuk mengonversi keluaran dari kueri ke dalam format JSON

Pembaruan #2: dalam produk akhir, Microsoft tidak menyertakan JSON separate yang terpisah tipe data - sebagai gantinya, ada sejumlah fungsi JSON (untuk mengemas baris database ke dalam JSON, atau untuk mengurai JSON menjadi data relasional) yang beroperasi pada kolom tipe 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. Membuat klausa where dinamis dalam prosedur tersimpan SQL Server

  2. Masalah Intellisense SQL Server 2008

  3. UCS-2 dan SQL Server

  4. Beberapa pernyataan INSERT vs. INSERT tunggal dengan beberapa NILAI

  5. Perbedaan Antara sys.columns, sys.system_columns, &sys.all_columns di SQL Server