Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres jsonb_对象_键限制结果集_Postgresql_Jsonb_Postgresql 11 - Fatal编程技术网

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”:{}
将不返回任何行。就像
{}
会。