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

Bagaimana cara mengonversi postgresql 9.4 jsonb ke objek tanpa bahasa fungsi/sisi server

Gunakan jsonb_populate_record() (atau json_populate_record() untuk json ) dengan tipe baris terkenal sebagai target. Anda dapat menggunakan tabel temp untuk mendaftarkan jenis untuk penggunaan ad-hoc (jika Anda tidak dapat menggunakan yang sudah ada tabel atau jenis komposit khusus):

CREATE TEMP TABLE obj(a int, b int, c int, d int);

Kemudian:

SELECT t.id, d.*
FROM   test t
     , jsonb_populate_record(null::obj, t.data) d;

Atau gunakan jsonb_to_record() (atau json_to_record() untuk json ) dan berikan daftar definisi kolom dengan panggilan:

SELECT t.id, d.*
FROM   test t
     , jsonb_to_record(t.data) d(a int, b int, c int, d int);

Atau ekstrak dan masukkan setiap bidang satu per satu:

SELECT id, (data->>'a')::int AS a, (data->>'b')::int AS b
         , (data->>'c')::int AS c, (data->>'d')::int AS d
FROM   test;

Ketiganya berfungsi untuk json dan jsonb sama. Cukup gunakan varian fungsi masing-masing.

Terkait:



  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 - Sub-Kueri Berkorelasi Gagal?

  2. Mendaftar dan Mengganti Basis Data di PostgreSQL

  3. postgres dan python

  4. Dapatkan Nomor Minggu dari Tanggal di PostgreSQL

  5. Bagaimana cara menerapkan fungsi ke setiap elemen kolom array di Postgres?