mysql - mySQL - 在一个字段中查找大量关键字的上下文
问题描述
我对这个很失望。
我的 Maria MySql 数据库中有一个字段,其中包含如下数据:
Dummydata Dummydata
Dummydata Dummydata 15
Dummydata 124578 KEYWORD
在最后一行中它也可以看起来像这样:
Dummydata 124578KEYWORD
或者
Dummydata 124578-KEYWORD
ETC
现在我有一个大约 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)'
您还可以使用关键字创建表格。然后将 aNOT EXISTS
与 an 一起使用RLIKE
AND NOT EXISTS
(
SELECT 1
FROM wordstoavoid w
WHERE t.FIELD RLIKE CONCAT('[0-9]+[ -]?', w.word)
);
可以在这里找到一个测试
推荐阅读
- javascript - 递减计数器有奇怪的行为
- php - 如何在 PHP 中获取一年中某一天的日期?
- r - 绘制 r 中的条件分布
- angular - 如何以角度反应形式清除 FormArray 值?
- java - 运行带有 txt 测试用例条目的 .py 并将输出重定向到另一个 .txt
- flutter - _$CustomClass 显示“返回类型“Type”不是“CustomClass”的错误,由匿名闭包定义。`
- javascript -
我应该使用
<a href="url">Something/>
因此,当我单击它时,它会将我重定向到我的 URL。
但现在我想对 onClick 方法做同样的事情(使用我的路由器)。
在我的代码中,我尝试使用它:
- java - 如何在 RSA 中进行密钥交换以进行解密
- java - 我如何让我的世界玩家看一个块
- c - 如何将位填充到 C 中的字符串?