LIKE または REGEXP を使用した MySQL レコード内の複数の単語の一致
LIKE 演算子を使用して特定の単語を含むレコードを検索すると、次のような問題が発生する可能性があります。フィールド内の異なる位置に単語が出現すると困難になります。この問題に対処するには、REGEXP 演算子の使用を検討してください。
たとえば、「Stylus Photo 2100」という値を含む「name」というフィールドを持つ「table」という名前のテーブルがあるとします。 LIKE 演算子を使用すると、次のクエリ:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
は結果を返しません。これは、LIKE 演算子が指定された文字列の完全一致を検索するためです。
単語 'Stylus' と '2100' を任意の順序で含むレコードを検索するには、次のように REGEXP 演算子を使用できます。 query:
SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
このクエリは、正規表現を使用して、「name」フィールドに「Stylus」という単語が含まれ、その後に任意の単語が続くレコードを検索します。文字数 (「.」で示される)、次に単語 '2100.'
または、次のクエリに示すように、LIKE 演算子を複数回使用することもできます。
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
このクエリは、「name」フィールドに単語「Stylus」と単語「2100」が含まれるレコードを返します。位置。
以上がLIKE または REGEXP を使用して MySQL レコード内の複数の単語を効率的に照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。