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()" 的评论、建议或更正 此处