San*_*ndy 7 sql arrays postgresql
我正在尝试编写一个查询来检查某个元素是否位于字符串数组中。
这是我的简单选择查询以及输出
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[];
小智 11
您需要在左侧使用字符串常量,并在数组列上使用 ANY 运算符:
select languages 
from person 
where 'Java' = any(languages);
这假设languages定义为text[]或varchar[]如您的示例输出所示