gpt4 book ai didi

arrays - PostgreSQL JSON 构建一个没有空值的数组

转载 作者:行者123 更新时间:2023-11-29 12:08:02 24 4
gpt4 key购买 nike

下面的查询

SELECT jsonb_build_array(jsonb_build_object('use', 'Home'), 
CASE WHEN 1 = 2 THEN jsonb_build_object('use', 'Work')
END)

产生

[{"use":"Home"},null]

当我真正想要的时候

[{"use":"Home"}]

我该怎么做呢? json_strip_nulls() 对我不起作用。

最佳答案

通过使用像这样的 PostgreSQL 数组:

SELECT array_to_json(array_remove(ARRAY[jsonb_build_object('use', 'Home'), 
CASE WHEN 1 = 2 THEN jsonb_build_object('use', 'Work') END], null))

它会产生:

[{"use": "Home"}]

同时,可以肯定的是:

SELECT array_to_json(array_remove(ARRAY[jsonb_build_object('use', 'Home'), 
CASE WHEN 1 = 2 THEN jsonb_build_object('use', 'Work') END,
jsonb_build_object('real_use', 'NotHome')], null))

确实产生:

[{"use": "Home"},{"real_use": "NotHome"}]

关于arrays - PostgreSQL JSON 构建一个没有空值的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51432543/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com