MySQL での大文字と小文字を区別しない LIKE ワイルドカード検索
問題:
LIKE ワイルドカード検索の実行列では大文字と小文字が区別されるため、ターゲット文字列に次のものが含まれる場合、結果が失われる可能性があります。大文字と小文字が異なる文字。大文字と小文字を区別しない LIKE ワイルドカード検索を実行するにはどうすればよいですか?
解決策:
MySQL には、文字列を小文字に変換する LOWER() 関数が用意されています。この関数を列と検索パターンの両方に適用すると、比較で大文字と小文字が区別されないことが保証されます。
次のクエリは、'title' 列で大文字と小文字を区別しない LIKE ワイルドカード検索を実行する方法を示しています。 'trees' テーブルの:
SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%'
このクエリでは、LOWER() 関数が 'trees.title' 列に適用され、効果的に変換されます。比較を実行する前に列の値を小文字に変換します。 '%elm%' ワイルドカード パターンは、どのような場合でも、部分文字列 'elm' を含むタイトルと一致します。
このアプローチにより、検索結果には、'Elm'、'elm'、'ELM' を含むタイトルを持つ行が確実に含まれます。 、およびその他のケースのバリエーション。
以上がMySQL で大文字と小文字を区別しない LIKE ワイルドカード検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。