如何根据部分字符串匹配排除行?

时间:2013-07-10 14:41:01

标签: mysql select

我有一个工作表,其中有一个名为“keywords”的longtext字段。

我正在尝试形成一个SELECT语句,我可以匹配某些关键字,同时排除其他关键字。

例如,我需要SQL“为我提供关键字包含”肖像“字样的所有工作,但排除那些”户外“字样的工作。”

谢谢! [如果需要修改问题或需要其他信息,请告诉我。]

2 个答案:

答案 0 :(得分:7)

怎么样:

. . . WHERE keywords LIKE '%portraits%' AND keywords NOT LIKE '%outdoors%' . . .

更好的方法可能是为作业定义单独的关键字表。每个作业/关键字组合都有一行。通过适当的索引,您可以大大加快有或没有匹配关键字的作业查找。

答案 1 :(得分:3)

SELECT * 
FROM [table_name]
WHERE keywords like '%portraits%'
  AND keywords not like '%outdoors%';