SQLLab
Справочник/func-json/JSONB_ARRAY_ELEMENTS
func-jsonPostgreSQL

JSONB_ARRAY_ELEMENTS()

Разворачивает JSONB-массив в набор строк — по одному элементу на строку. Используется в FROM, как generate_series для массивов.

Синтаксис
JSONB_ARRAY_ELEMENTS(jsonb_array)

Примеры

Массив чисел в строки
SELECT * FROM JSONB_ARRAY_ELEMENTS('[1, 2, 3]'::jsonb);
value ----- 1 2 3
Разворот JSONB-колонки заказа в отдельные строки товаров
SELECT id, item->>'sku' AS sku
FROM orders o, JSONB_ARRAY_ELEMENTS(o.items) AS item;

Важно знать

  • Есть текстовый вариант JSONB_ARRAY_ELEMENTS_TEXT — сразу возвращает text, а не jsonb, если элементы простые.