jsonb_populate_record()

将JSONB对象扩展到行的一个函数

jsonb_populate_record() 是一个系统函数,用于将顶层的 JSONB 对象扩展到具有指定基类型的复合类型的一行。

jsonb_populate_record() 添加于 PostgreSQL 9.4

用法

jsonb_populate_record ( base anyelement, from_json jsonb ) → anyelement

请参阅 PostgreSQL文档 以了解详细规范。

更改历史

示例

对于jsonb_populate_record() 的一个独立示例,需要创建一个自定义类型

postgres=# CREATE TYPE keyrec AS (key INT, val TEXT);
CREATE TYPE

它被 jsonb_populate_record() 如下引用

postgres=# SELECT * FROM jsonb_populate_record(
               NULL::keyrec,
               '{"key": 1,"val": "foo"}'
           );
 key | val 
-----+-----
   1 | foo
(1 row)

字段与任何输出列不对应的值将被忽略

postgres=# SELECT * FROM jsonb_populate_record(
               NULL::keyrec,
               '{"key": 1,"val": "foo", "bar": "baz"}'
           );
 key | val 
-----+-----
   1 | foo
(1 row)

分类

JSON系统函数

另请参见

jsonb_populate_record_valid()json_populate_record()

反馈

提交关于 "jsonb_populate_record()" 的任何评论、建议或更正 在此