Pet*_*uss 8 postgresql json jsonb postgresql-9.5
我在pg9.4中以"JSON模式"测试了一些查询,现在我正在检查pg9.5是否会带来所有相同的JSONB功能......但是没有row_to_jsonb()函数(!).(为什么它不是 基本参数中的正交指令集?)
该指南 仅说"to_jsonb功能提供了相同的功能".我们在哪里可以检查"多少"?关于这个细节 还有其他特定的JSONB指南吗?
kli*_*lin 13
您可以使用to_jsonb()代替row_to_json(),例如:
with the_table(a, b, c) as (
select 1, 'alfa', '2016-01-01'::date
)
select to_jsonb(t), row_to_json(t)
from the_table t;
to_jsonb | row_to_json
------------------------------------------+-------------------------------------
{"a": 1, "b": "alfa", "c": "2016-01-01"} | {"a":1,"b":"alfa","c":"2016-01-01"}
(1 row)
Run Code Online (Sandbox Code Playgroud)
第一具有比第二由于参数(的类型的更广泛的应用anyelement对record).
如果to_jsonb()你使用两个参数,你还应该使用row_to_json():
select to_jsonb(array['a', 'b', 'c']);
to_jsonb
-----------------
["a", "b", "c"]
(1 row)
Run Code Online (Sandbox Code Playgroud)
您可以用作to_jsonb的直接替代品row_to_json。
SELECT to_jsonb(rows) FROM (SELECT * FROM table) rows;
Run Code Online (Sandbox Code Playgroud)