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