0

私のデータベース:

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

私のクエリ:

SELECT * 
FROM   table 
WHERE  place LIKE '%bhovali' 

質問: 多くのユーザーが間違ったキーワードを検索すると、クエリ結果が一致し、正しいものが出力されるはずです..上記のクエリでは、 bhovaliは間違った単語であり、正しい単語はbhowaliです。クエリから正しい結果を取得する方法はありますか??..

4

3 に答える 3

3

これは非常に負荷の高い質問です...短い答えはノーです。SQL は、ユーザーが望むものではなく、ユーザーが望むものを提供するために作られています。

類似した名前があることを認識し、それらが発生したときにそれらを検索するには、ある種のインテリジェンス エンジンを開発する必要があります。

于 2013-01-12T06:34:16.137 に答える
3

これは役立つかもしれません SELECT * FROM table WHERE SOUNDEX(name) LIKE SOUNDEX('bhovali') ;

于 2013-01-12T06:41:03.450 に答える
0

mysql では、列に全文インデックスがある場合、全文検索を使用できます。

select * from table match(name) against ('bhovali');

于 2013-01-12T07:19:27.737 に答える