读取JSON文本并根据数值输出布尔值



这是我的json文本的一个小片段,这是在一个数据库的列。我想编写一个查询,如果"1", "2"等值= 0,将返回一个布尔值。所以如果"1": 0我想要一个假值,这样我就可以写一个条件语句来根据布尔值显示一条消息。

{
"ENABLE": [
{
"1": 1,
"2": 1,
"3": 1,
"4": 1
}
]
}

这是使用jsonb函数的一种方法:

select jsonb_array_elements((jsonb_extract_path(jsoncolumn::jsonb,'ENABLE'))) @> '{"4":1}'::jsonb as checking
from test 

'{"4":1}'可以参数化,就像您创建一个过程一样,或者如果您将查询构建为动态sql。

db<此处小提琴>

最新更新