我对这个感到失望。
我的 Maria MySql 数据库中有一个字段包含如下数据:
Dummydata Dummydata
Dummydata Dummydata 15
Dummydata 124578 KEYWORD
它也可以在最后一行看起来像这样:
Dummydata 124578KEYWORD
或
Dummydata 124578-KEYWORD
等等
现在我有大约 3000 个关键字的列表,需要在我的结果中排除这些关键字,这基本上是我唯一的标准。
我试过这样
AND NOT (FIELD LIKE '%KEYWORD1%' OR FIELD LIKE '%KEYWORD2%')
这里它只是重新调整一切,就像它被忽略了一样
和
AND NOT (FIELD IN ('%KEYWORD1%','%KEYWORD2%')')
这里好像只搜索了第一段
它似乎不起作用:(
你能帮忙吗?
最佳答案
对于少数几个关键字,您可以使用 NOT REGEXP
/NOT RLIKE
AND FIELD NOT RLIKE '[0-9]+[ -]?(keyword1|keyword2|keyword3)'
您还可以使用关键字创建表格。然后使用 NOT EXISTS
和 RLIKE
AND NOT EXISTS
(
SELECT 1
FROM wordstoavoid w
WHERE t.FIELD RLIKE CONCAT('[0-9]+[ -]?', w.word)
);
可以查到一个测试here
关于mySQL - 在一个字段中查找大量关键字的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52355971/