MySQL の LIKE 演算子を使用して大文字と小文字を区別しない検索をマスターする
MySQL の LIKE
演算子は、データベース列内のパターン マッチングに非常に役立ちます。 ただし、デフォルトでは大文字と小文字が区別されるため、問題が発生する可能性があります。 このガイドでは、大文字と小文字を区別しない効率的な検索を実行する方法を説明します。
ツリー名を格納する trees
列を持つ title
という名前のテーブルについて考えます。 「ニレ」を含むすべての木を見つけるには、次のような単純なアプローチではすべてのバリエーションを捉えることができません。
<code class="language-sql">SELECT * FROM trees WHERE trees.title LIKE '%elm%';</code>
このクエリでは大文字と小文字が区別され、大文字と小文字が異なるエントリ (例: "Elm"、"ELM") が欠落しています。 解決策は、LOWER()
または UPPER()
関数を使用することです。
LOWER()
関数は、比較前に列の値を小文字に変換し、大文字と小文字を区別しない一致を可能にします。
<code class="language-sql">SELECT * FROM trees WHERE LOWER(trees.title) LIKE '%elm%';</code>
この改訂されたクエリは、「elm」、「ELM」、またはその他の大文字と小文字のバリエーションを含むレコードを正常に取得します。 同様に、UPPER()
は同じ効果を得るために大文字に変換されます。 データとクエリのニーズに最適な関数を選択してください。
以上がMySQL で大文字と小文字を区別しない LIKE 検索を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。