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

Bagaimana cara memfilter baris pada nilai bersarang di kolom json?

Permintaan Anda sudah dekat. json_each() adalah fungsi kunci. Atau jsonb_each() untuk jsonb . Beberapa peningkatan:

SELECT *
FROM   things t
WHERE  EXISTS (
   SELECT FROM json_each(t.blueprint) b
   WHERE  b.value->>'name' ILIKE 'azamund'
   );

sqlfiddle lama
db<>fiddle di sini

Alternatif dengan array JSON

Anda telah melihat jawaban terkait saya untuk array JSON:

Sementara kueri untuk objek JSON bersarang tampaknya sama sederhananya, ada dukungan indeks . yang unggul untuk larik:

Mungkin menjadi lebih sederhana/lebih efisien dengan SQL/JSON di Postgres 12 ...



  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 - ganti semua instance string dalam bidang teks

  2. Bagaimana cara mendapatkan daftar nama kolom dan tipe data tabel di PostgreSQL?

  3. Banyak ke Banyak Tabel - Performa buruk

  4. Bagaimana mengembalikan jumlah kolom dinamis dalam fungsi?

  5. fungsi tanpa aksen postgres vs transliterasi RoR