gpt4 book ai didi

sql - Postgres WHERE 数组包含空字符串

转载 作者:行者123 更新时间:2023-11-29 14:17:50 26 4
gpt4 key购买 nike

我正在尝试执行 select * from demo where demojson->'sub'->'item' = array("") 但这不起作用。我想找到以下内容

  • JSON 列中 .sub.item 是一个只包含一个空字符串 ([""]) 的数组的所有行
  • JSON 列中 .sub.item 的所有行是一个数组,可能包含多个项目,但至少有一个项目是空字符串。 (["不为空", "也不为空", ""])

demojson 列可以包含例如

{ 
"key": "value",
"sub": {
"item": [""]
}
}

最佳答案

你试过吗

SELECT * from demo 
WHERE demojson->'sub'->>'item' = '[""]';

此处 ->> 运算符允许获取 JSON 对象字段作为文本。

另一种解决方案

SELECT * from demo 
WHERE json_array_length(demojson->'sub'->'item') = 1 AND
demojson->'sub'->'item'->>0 = '';

此处 ->> 运算符允许获取 JSON 第一个数组元素作为文本。

关于sql - Postgres WHERE 数组包含空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41703604/

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