我需要在postgresql数据库中的汽车表上搜索所有关键字,但不包括其他一些关键字...例如......我需要找到所有包含'c4'和'citroen'的汽车在它的slu ,,但它不包含'picasso'或'grand'字样。
我尝试过以下代码,但没有用:
SELECT * FROM cars.cars
WHERE slug ILIKE ALL (array['%citroen%','%c4%'])
AND slug NOT ILIKE ANY (array['%picasso%','%grand%'])
它只发现含有雪铁龙和c4,但不会删除含有毕加索或者盛大的记录
由于
答案 0 :(得分:1)
在第二个where条件中将ANY更改为ALL。 像这样:
SELECT * FROM cars.cars
WHERE slug ILIKE ALL (array['%citroen%','%c4%'])
AND slug NOT ILIKE ALL (array['%picasso%','%grand%'])