PostgreSQL jsonb_to_recordset() 函数使用指南
PostgreSQL jsonb_to_recordset()
函数将指定的最顶层的 JSONB 数组(元素为对象)扩展为一个在 AS 子句中定义的具有符合类型的行的集合。
jsonb_to_recordset()
语法
这是 PostgreSQL jsonb_to_recordset()
函数的语法:
jsonb_to_recordset(from_json JSONB) -> SETOF RECORD
参数
from_json
- 必需的。 要转的 JSONB 数组,其中的元素为 JSONB 对象。
返回值
PostgreSQL jsonb_to_recordset()
函数返回一个在 AS 子句中定义的 RECORD
类型值的集合,它由指定的 JSONB 数组转换而来。 数组中的 JSONB 对象都依照 jsonb_to_record()
函数被转成 RECORD
类型的值。
jsonb_to_recordset()
示例
本示例展示了如何使用 PostgreSQL jsonb_to_recordset()
函数将一个 JSONB 数组转为一个自定义类型的集合。
SELECT
*
FROM
jsonb_to_recordset(
'[{"x": "A", "y": 1}, {"x": "B", "y": 2}]'
) AS x(x TEXT, y INT);
x | y
---+---
A | 1
B | 2
这里,我们在 AS
子句中定义了要返回的行类型: AS x(x TEXT, y INT)
。它包含两个列 x
和 y
,他们分别匹配了 JSONB 对象中的键。