gpt4 book ai didi

mysql - 多个词的反向匹配

转载 作者:可可西里 更新时间:2023-11-01 07:42:52 26 4
gpt4 key购买 nike

感谢阅读本文。希望你能帮助我。

当我有一个包含这些行值的 Mysql 表时

编号|搜寻
========
1|蝴蝶
2|美国
3|美国的鸟类
4|美国蝴蝶

无论搜索词的数量或顺序如何,我如何判断哪些行的“search”列中的所有词都出现在字符串“butterflies of america”中。

(我想在这个例子中检索 1,2 和 4)我现在使用编码循环来解决这个问题,最好用 mysql 更有效地修复它。我尝试了全文搜索和正则表达式,但完全卡住了。发送。

最佳答案

嵌套替换,没有子查询。

SELECT id, search
FROM a
WHERE LENGTH( TRIM(
REPLACE( REPLACE( REPLACE(
CONCAT( ' ', search, ' ' ) ,
' butterflies ', ' ' ) , ' of ', ' ' ) , ' america ', ' ' ) ) ) = 0

id search
1 butterflies
2 america
4 america butterflies

我在要搜索的单词中添加了书尾空格,以确保您不会匹配单词的中间部分(例如,“咖啡”中的“of”)。此外,我在 search 短语中添加了空格书挡,以说明第一个和最后一个单词。

关于mysql - 多个词的反向匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3997319/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com