给定表events
:
create table events (
id integer,
data jsonb
)
如何构造一个查询,使我们只返回结果列中的选择键?
假设我们有events
表中的记录:
(1, {"a": 1, "b": 2})
是否可能返回如下内容:
id | data
1 | {"b": 2}
直接使用jsonb_build_object
:
create temporary table events(id, data)
as values (1, '{"a":1, "b":2, "c":"three"}'::jsonb);
select id, jsonb_build_object(
'b', data -> 'b',
'c', data -> 'c'
) from events;
id | jsonb_build_object | 1 | {"b" 2,"c":"three"} |
---|