PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как да получа само jsonb на конкретни ключове от postgres?

Можете да филтрирате до един ключ сравнително лесно по следния начин:

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

...или можете да филтрирате до няколко ключа:

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

Или при по-сложно условие, ако искате:

(
  SELECT jsonb_object_agg(key, value)
  FROM jsonb_each(jsonb_data)
  WHERE
    key NOT LIKE '__%'
    AND jsonb_typeof(value) != '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. Хибернация:дублираната стойност на ключ нарушава уникалното ограничение

  2. Как да изброя всички бази данни и техните схеми в postgresql?

  3. Агрегирана функция за сумиране на масив по двойки?

  4. Свържете параметъра на масива към собствената заявка

  5. postgresql не може да отвори INSERT заявка като курсор