как получить данные из столбца jsonb в postgres? - PullRequest
0 голосов
/ 29 мая 2020

У меня есть база данных с table. В моей таблице есть два столбца id и описание типа jsonb, теперь я хочу получить все name в таблице. Как это сделать

Я пробовал вот так, но не работал

SELECT description::jsonb->name FROM Category 

enter image description here

ожидаемый результат

["hello","test","world"]

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете использовать агрегирование: json[b]_agg() можно использовать для создания массива json, состоящего из всех 'name' атрибутов исходных объектов, упорядоченных по id.

select jsonb_agg(description ->> 'name' order by id) res from category

Обратите внимание, что , поскольку description изначально имеет тип данных jsonb, нет необходимости в дополнительном приведении.

...