我正在尝试编写查询以检查元素是否在字符串数组中。
这是我的简单选择查询以及输出
select languages from person limit 3;
{CSS,HTML,Java,JavaScript,Python}
{JavaScript,Python,TensorFlow}
{C++,Python}
我如何编写查询以查找所有将“ Java”列为已知语言的人?
我尝试遵循该语法,但无法正常工作。
select languages from person where languages @> ARRAY['Java']::varchar[];
答案 0 :(得分:1)
尝试
select languages from person where 'Java' = ANY (string_to_array(languages , ','))
答案 1 :(得分:1)
您需要在左侧使用字符串常量,并在数组列上使用ANY运算符:
select languages
from person
where 'Java' = any(languages);
这假定样本输出显示languages
被定义为text[]
或varchar[]