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, если элементы простые.