sql查询中的文本匹配(LIKE)

时间:2013-01-12 06:32:11

标签: php mysql sql

我的数据库:

    ID   place
-----------------------------------------------
    1    Bhowali
    2    Bangalore   
    3    Tumkur

我的查询:

SELECT * 
FROM   table 
WHERE  place LIKE '%bhovali' 

问题是:很多用户在那个时候搜索错误的关键字,查询结果应该匹配并输出正确的..在我的上面的查询中 bhovali 是一个错误的词是正确的字是 bhowali 。有没有办法从查询中获得正确的结果?? ..

3 个答案:

答案 0 :(得分:4)

可能有助SELECT * FROM table WHERE SOUNDEX(name) LIKE SOUNDEX('bhovali') ;

答案 1 :(得分:3)

这是一个真正的问题......简短的回答是否定的。 SQL是为了给你你想要的而不是你想要的东西。

您必须开发某种智能引擎,以识别出有相似的名称,并在发生时搜索它们。

答案 2 :(得分:0)

在mysql中,如果列的全文索引为

,则可以使用全文搜索

从表匹配(名称)中选择*('bhovali');