在mysql查询中搜索prob

时间:2009-07-25 04:40:43

标签: mysql

有没有办法在mysql中搜索如下标准? 如果有任何回复。

如果我用“murray's”搜索,那么它将返回“murray”的精确数据,但它也应该返回“murrays”的数据意味着没有萎缩(')的同一个词。

如果我搜索没有萎缩('),它也会搜索萎缩(')。

最后

如果搜索查询是“murray's”,它将返回“murray”和“murray”。

如果搜索查询是“murrays”,它将返回“murrays”和“murray's”。

提前致谢

1 个答案:

答案 0 :(得分:1)

您最好的选择是在桌面上创建一个Full Text Index

然后您可以将其查询为:

select *
from restaurants
where match(name) against ('murrays')

除此之外,您可以在查询中使用SOUNDEXSOUNDS LIKE。以下两个查询完全相同

select *
from restaurants
where soundex(name) = soundex('murrays')

select *
from restaurants
where name sounds like 'murrays'

另请注意,MySQL使用原始的SOUNDEX算法,而不是最近的算法。因此,它将返回任意长度的字符串。如果您之前使用过SOUNDEX,请务必考虑到这一点。