jsonb_populate_record_valid()

用于测试 jsonb_populate_record() 的函数
此条目与 PostgreSQL 功能相关,该功能是 PostgreSQL 17 的一部分,预计将于 2024 年底发布。

jsonb_populate_record_valid() 是一个用于测试 jsonb_populate_record() 的系统函数。

jsonb_populate_record_valid()PostgreSQL 17 中添加。

用法

jsonb_populate_record_valid ( base anyelement, from_json json ) → boolean

如果提供的 json 值是有效的输入,则返回 true,否则返回 false

更改历史记录

示例

jsonb_populate_record_valid() 的基本用法示例

postgres=# CREATE TYPE jsonb_test AS (val CHAR(3));
CREATE TYPE

postgres=# SELECT jsonb_populate_record_valid(
    NULL::jsonb_test,
    '{"val": "foobar"}'
);
 jsonb_populate_record_valid 
-----------------------------
 f
(1 row)

这里提供的值("foobar")超过了 jsonb_test 类型的长度,因此返回 false。如果将相同的参数提供给 jsonb_populate_record(),则会引发 ERROR

postgres=# SELECT jsonb_populate_record(
    NULL::jsonb_test,
    '{"val": "foobar"}'
);
ERROR:  value too long for type character(3)

分类

JSON系统函数

另请参阅

jsonb_populate_record()json_populate_record()

反馈

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