This question already has answers here:
Search string by exact word in Mysql
(8个答案)
2年前关闭。
我有一个带有句子列表的MySQL表,例如:
我必须在
有一些条件:
搜索词不能是任何词的前缀或后缀。
搜索单词
标点符号可以在单词之前或之后。例如:
没有正确的
我尝试查询但没有用
可能的标点符号为
我需要一个可行的解决方案。提前致谢 !
这将对应于由单词边界包围的匹配
另请注意,MySQL的
演示在这里:
Rextester
(8个答案)
2年前关闭。
我有一个带有句子列表的MySQL表,例如:
id | Sentence
---+---------------------------------------------------------------
1 | Come On Boys, You Can do it my boy.
2 | Everything is possible, impossible itself says I am possible.
3 | Boys I know possible solutions are good!
4 | Possible solutions are all failed its also possible
我必须在
Sentence
列上搜索准确的词,例如possible
。有一些条件:
搜索词不能是任何词的前缀或后缀。
搜索单词
possible
,impossible
不正确。标点符号可以在单词之前或之后。例如:
!boy
或boy,
没有正确的
possible
Possible
区分大小写的方法。我尝试查询但没有用
mysql_query("SELECT * FROM products WHERE Sentence LIKE '%".$search."%'");
可能的标点符号为
,.!?;-
我需要一个可行的解决方案。提前致谢 !
最佳答案
您可以使用REGEXP
:
SELECT *
FROM products
WHERE Sentence REGEXP '[[:<:]]possible[[:>:]]'
-- ^^^ ^^^ word boundaries
这将对应于由单词边界包围的匹配
possible
。请注意,在演示中,标点符号算作单词边界。另请注意,MySQL的
REGEXP
不区分大小写,因此上面的内容应与possible
或Possible
匹配。演示在这里:
Rextester
关于mysql - MySQL-如何在句子栏中搜索完全匹配的单词? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43140920/
10-11 03:26