Postgresql Postgres jsonb_对象_键限制结果集
有人能给我解释一下为什么Postgresql Postgres jsonb_对象_键限制结果集,postgresql,jsonb,postgresql-11,Postgresql,Jsonb,Postgresql 11,有人能给我解释一下为什么jsonb\u object\u keys会限制我的结果集吗 我希望下面返回两行: 1,3 2,null 但最后一个被过滤掉了 SELECT idx, jsonb_object_keys(json_data::jsonb -> '2') FROM ( SELECT 1 as idx, '{"1":"val","2":{"3": "
jsonb\u object\u keys
会限制我的结果集吗
我希望下面返回两行:
1,3
2,null
但最后一个被过滤掉了
SELECT
idx,
jsonb_object_keys(json_data::jsonb -> '2')
FROM
(
SELECT 1 as idx, '{"1":"val","2":{"3": "val"}}' as json_data
UNION ALL
SELECT 2 as idx, '{"1":"val"}' as json_data
) a
版本:x86_64-pc-linux-gnu上的PostgreSQL 11.6,由gcc(gcc)4.8.5 20150623(Red Hat 4.8.5-11)编译,64位
jsonb_对象_键
是一个集合返回函数,在调用NULL
时不返回结果。您对{code>{2:{a:1,“b:2}
有何期望?@Bergi这应该返回两行,其中一行带有“a”还有一个是“b”对吗?是的。和{“2”:{}
将不返回任何行。就像{}
会。