2016-12-14 10 views
0

少し助けが必要です。私は渡す手紙をデータベースで検索したい。たとえば、「steve」という単語を入力すると、「stve」という文字が含まれているすべての名前を検索する必要があります。私は試しました:文字列の文字を含むフィールドをmysqlデータベースで検索する方法

"SELECT * FROM users WHERE name LIKE 'steve%' or name like '%steve' or name like '%steve%'"; 

しかし、それはパターンを探しているので、私がしたいことはしません。同じことが次の場合に発生します。

"SELECT * FROM users WHERE INSTR(`name`, 'steve') > 0"; 

お願いします。

+0

語から個々の文字を検索するには、 'RLIKE'を使用して、正規表現を使用する必要があります – Simon

答えて

0

大文字小文字の問題がありますか?次のクエリを使用するとどうなりますか?

"SELECT * FROM users WHERE lower(name) LIKE 'steve%' or lower(name) like '%steve' or lower(name) like '%steve%'"; 

スティーブも小文字にしてください。

0

はあなたがSOUNDEXまたはSOUNDS LIKEを使用することができ、ここでMYSQL search for right words | fixing spelling errors

を見てみましょうが、それは高価であり、あなたが望むものではないかもしれません。 PHPを使用している場合、すべての行を返すことができ、levestien(sp)シフトを解析できますか?

関連する問題