为什么在PostgreSQL中使用ANY操作符时会出现语法错误?

xa9qqrwz  于 2023-11-18  发布在  PostgreSQL
关注(0)|答案(1)|浏览(151)

我在psql中创建了一个名为restraunts的表,以显示所有朋友都去过的其余部分。下面是表(friends和rest是列名):


的数据

select distinct rest
from restraunts
where friends ilike any ('Micheal','Martin','Jack') and rest ilike any ('Ofelia','Casablanca');

字符串
我运行代码,但得到一个错误:

ERROR:  syntax error at or near ","
LINE 3: where friends ilike any('micheal','martin','jack') and rest ...
                                         ^


错误显示在逗号处。
为什么会发生这种情况,我该如何解决?

bmp9r5qi

bmp9r5qi1#

查询中的问题是ILIKE运算符与ANY子句的组合使用。您尝试将ILIKE运算符直接用于值列表,但这不是正确的语法
下面是正确的方法:

SELECT DISTINCT rest
FROM restraunts
WHERE friends ILIKE ANY(ARRAY['Micheal', 'Martin', 'Jack']) AND rest ILIKE ANY(ARRAY['Ofelia', 'Casablanca']);

字符串

相关问题