PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Tanggal JSONb:tanggal aktual secara internal?

JSON tidak memiliki tipe "tanggal". Jenis JSONB (ditambahkan di Hal 9.4 ) memetakan tetapi tidak meluas pada tipe primitif JSON. Nilai yang terlihat adalah apa adanya, teks.

Meskipun indeks dapat ditambahkan melalui properti string, format "prosa bahasa Inggris" saat ini tidak akan dapat berpartisipasi dalam kueri rentang karena nilai-nilai tersebut tidak tertata dengan baik berdasarkan tanggal.

Berbagai cara menyimpan tanggal yang tertata dengan baik, mengingat pembatasan tipe primitif.

(Probe indeks kesetaraan dapat digunakan bahkan jika rentang tidak dapat .. asalkan nilainya sama persis, yang masih tunduk pada penggunaan representasi data yang konsisten.)

Saat menerapkan kueri rentang pada indeks (JSONB / GIN) konversikan nilai DATE ke tipe data JSON yang sesuai (dipetakan ke integer, numerik, teks dalam Pg) yang digunakan untuk properti "tanggal"; bukan sebaliknya.

Saat mengambil nilai, ubah format yang dipilih menjadi DATE - tidak apa-apa karena ini dilakukan setelah kueri rentang dan 'wajib' karena JSONB tidak mendukung tanggal atau waktu secara bawaan.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql - Bagaimana cara mengekstrak kemunculan pertama substring dalam string menggunakan pola ekspresi reguler?

  2. Hitung Kunci Utama berikutnya - dengan format tertentu

  3. Memasukkan NEW.* dari pemicu generik menggunakan EXECUTE di PL/pgsql

  4. Lepaskan KUNCI Postgres secara manual

  5. Urutan pengurutan string (LC_COLLATE dan LC_CTYPE)