gpt4 book ai didi

mysql - 如何在mySQL搜索中搜索独立的单词?

转载 作者:行者123 更新时间:2023-11-29 06:15:31 26 4
gpt4 key购买 nike

我试图在句子The Foxy Brown Fox Jump over the Lazy Dog中找到单词fox。目前,我使用以下 SQL 进行搜索:

SELECT * 
FROM sentences
WHERE sentence LIKE '%fox%'

由于存在 Foxy,而不仅仅是 Fox,因此找到了该句子。如何独立找到fox

我正在 Ruby on Rails 中实现此搜索,因此上述 SQL 的语法将转换为以下内容:

query = 'fox'
result = Sentence.where("sentence LIKE :search_term", {:search_term => "%#{query}%"})

最佳答案

您需要将 REGEXP 工具与“单词边界”表达式一起使用。 [[:<:]][[:>:]] 。例如

SELECT * FROM sentences WHERE sentence REGEXP '[[:<:]]fox[[:>:]]'

这将处理“fox”前面或后面有逗号、字符串开头/结尾或其他非单词字符的情况。单词字符定义为 [_A-Za-z0-9] 。这是该文档的链接:http://dev.mysql.com/doc/refman/5.1/en/regexp.html

关于mysql - 如何在mySQL搜索中搜索独立的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6838877/

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