PostgreSQL jsonb_build_array() 函数使用指南
PostgreSQL jsonb_build_array()
函数从可变的参数列表中创建一个可能是异构类型的 JSONB 数组并返回。
此函数与 json_build_array()
函数类似。
jsonb_build_array()
语法
这是 PostgreSQL jsonb_build_array()
函数的语法:
jsonb_build_array(VARIADIC any_value) -> JSONB
参数
any_value
- 必需的。 是一个可变的参数列表。您可以传入任意类型的任意数量的参数。
返回值
PostgreSQL jsonb_build_array()
函数返回一个可能是异构类型的 JSONB 数组,其中的参数由可变的参数列表转换而来。
jsonb_build_array()
函数会评估可变参数列表中的每个参数,然后使用 to_jsonb()
将每个参数执行转为 JSONB 值后放入最终返回的数组中。
jsonb_build_array()
示例
本示例展示了如何使用 PostgreSQL jsonb_build_array()
函数构建一个 JSONB 数组。
SELECT jsonb_build_array(1, 'a', true, row(2, 'b', false));
jsonb_build_array
---------------------------------------------------
[1, "a", true, {"f1": 2, "f2": "b", "f3": false}]
这里,我们在函数中使用了 4 个参数: 1
, 'a'
, true
, row(2, 'b', false)
。
首先,jsonb_build_array()
函数按照 to_jsonb()
将每个参数转为 JSONB 值:
to_jsonb(1)
返回1
to_jsonb('a'::text)
返回"a"
to_jsonb(true)
返回true
to_jsonb(row(2, 'b', false))
返回{"f1":2,"f2":"b","f3":false}
然后,jsonb_build_array()
函数将上面的返回值组装成 JSONB 数组 [1, "a", true, {"f1":2,"f2":"b","f3":false}]
后返回。