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

Bagaimana cara meminta nilai nol dalam jenis bidang json postgresql?

anda dapat menggunakan fakta bahwa elem->'occupation2' mengembalikan string null bertipe json , jadi kueri Anda adalah:

select
    *
from  json_array_elements(
  '[{"name": "Toby", "occupation": "Software Engineer"},
    {"name": "Zaphod", "occupation": "Galactic President"} ,
    {"name2": "Zaphod", "occupation2": null} ]'
) as elem
where (elem->'occupation2')::text = 'null'

{"name2": "Zaphod", "occupation2": null}

Jika Anda ingin mendapatkan semua elemen yang nilainya null di JSON atau kunci tidak ada, Anda bisa melakukan:

select
    *
from  json_array_elements(
  '[{"name": "Toby", "occupation": "Software Engineer"},
    {"name": "Zaphod", "occupation": "Galactic President"} ,
    {"name2": "Zaphod", "occupation2": null} ]'
) as elem
where (elem->>'occupation2') is null

{"name": "Toby", "occupation": "Software Engineer"}
{"name": "Zaphod", "occupation": "Galactic President"}
{"name2": "Zaphod", "occupation2": null}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. psycopg2 sebenarnya tidak memasukkan data

  2. java.lang.ClassNotFoundException:org.postgresql.Driver

  3. Tidak dapat terhubung ke server PostgreSQL:tidak dapat terhubung ke server:Izin ditolak

  4. PostgreSQL:Menampilkan tabel di PostgreSQL

  5. Cara Mengonfigurasi PostgreSQL Sharding dengan ClusterControl