PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zdobyć tylko jsonb konkretnych kluczy z postgresa?

Możesz dość łatwo odfiltrować do jednego klucza:

jsonb_object(ARRAY[key, jsonb_data -> key])

...lub możesz przefiltrować do wielu klawiszy:

(SELECT jsonb_object_agg(key, value) FROM jsonb_each(jsonb_data) WHERE key IN ('a', 'b'))

Lub w bardziej złożonym stanie, jeśli chcesz:

(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != 'null'
)

Na tego rodzaju pytania można bardzo łatwo odpowiedzieć, po prostu czytając dokumentację .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres zawija wyniki podzapytania w nawiasy

  2. SQLAlchemy:filtrowanie według wartości przechowywanych w zagnieżdżonej liście pola JSONB

  3. Jak określić listę wartości dla sekwencji postgresql?

  4. Jak UPSERT (MERGE, INSERT ... ON DUPLICATE UPDATE) w PostgreSQL?

  5. Jak pobrać elementy o unikalnym numerze z tablicy json w PostgreSQL?