json_populate_record() 是一个系统函数,用于将顶层的 JSON 对象扩展为具有指定基类型的复合类型的一行。
json_populate_record() 添加于 PostgreSQL 9.3。
用法
json_populate_record (baseanyelement,from_jsonjson) →anyelement
有关详细规范,请参阅 PostgreSQL 文档。
变更历史
- PostgreSQL 9.3
- 添加 (提交 a570c98d)
示例
要获得 json_populate_record() 的独立示例,有必要创建一个自定义类型
postgres=# CREATE TYPE keyrec AS (key INT, val TEXT); CREATE TYPE
该类型从 json_populate_record() 如下引用
postgres=# SELECT * FROM json_populate_record(
NULL::keyrec,
'{"key": 1,"val": "foo"}'
);
key | val
-----+-----
1 | foo
(1 row)
字段与任何输出列都不对应的那些值将被忽略
postgres=# SELECT * FROM json_populate_record(
NULL::keyrec,
'{"key": 1,"val": "foo", "bar": "baz"}'
);
key | val
-----+-----
1 | foo
(1 row)
参考资料
- PostgreSQL 文档: JSON 处理函数
