MySQL LIKE クエリでの複数のワイルドカード パターンの処理
MySQL の LIKE
演算子は、文字列カラム内のパターン マッチングに非常に役立ちます。 ただし、仮想の LIKE IN()
関数とは異なり、複数のパターンを同時に照合するための組み込みメカニズムがありません。
方法 1: 複数の OR 条件
効果的な戦略の 1 つは、複数の OR
条件を使用することです。
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox LIKE '%1740 %' OR f.fiberBox LIKE '%1938 %' OR f.fiberBox LIKE '%1940 %';</code>
このアプローチでは、各パターンを個別に直接チェックし、明確でわかりやすいソリューションを提供します。
方法 2: 正規表現を活用する
多数のパターンがあるシナリオでは、複数の OR
ステートメントを使用するのが面倒になる可能性があります。 MySQL の REGEXP
演算子は、よりコンパクトな代替手段を提供します。
<code class="language-sql">SELECT * FROM fiberbox f WHERE f.fiberBox REGEXP '1740|1938|1940';</code>
|
記号は正規表現内で「or」演算子として機能し、リストされたパターンのいずれかを効率的に照合できます。 ただし、正規表現は単純な LIKE
比較よりも多くのリソースを消費する可能性があることに注意してください。 パフォーマンス テストは、特定のデータセットとクエリの複雑さに対して最も効率的な方法を確認するために非常に重要です。
以上が複数のパターンで MySQL LIKE を効率的に使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。