to_jsonb()
是一个将 SQL 值转换为 jsonb
的系统函数。
to_jsonb()
在 PostgreSQL 9.5 中添加。
示例
to_jsonb()
的基本用法示例
postgres=# SELECT to_jsonb('hello, world'::text); to_jsonb ---------------- "hello, world" (1 row) postgres=# SELECT to_jsonb(row(97, 'foo', ARRAY[1,2,3])); to_jsonb ------------------------------------------ {"f1": 97, "f2": "foo", "f3": [1, 2, 3]} (1 row)
由于 to_jsonb()
接受 anyelement
作为其参数,因此需要使用显式转换来提供不明确的数据类型
postgres=# SELECT to_jsonb('hello, world'); ERROR: could not determine polymorphic type because input has type unknown
参考文献
- PostgreSQL 文档: JSON 创建函数