示例
示例
-- 逐元素展开(保持 jsonb 类型)
SELECT id, elem FROM orders, jsonb_array_elements(items) AS elem;
-- 直接取文本
SELECT id, jsonb_array_elements_text(items) AS sku FROM orders;
-- 带序号(WITH ORDINALITY)
SELECT id, elem, idx
FROM orders,
jsonb_array_elements(items) WITH ORDINALITY AS t(elem, idx);| 返回 | 每行一个元素(setof jsonb / setof text) |
|---|---|
| 序号 | WITH ORDINALITY 给出 1 起的下标 |
| 配合 | CROSS JOIN LATERAL 的隐式写法;空数组产生零行 |