ホームページ > データベース > mysql チュートリアル > LIKE または REGEXP を使用して MySQL レコード内の複数の単語を効率的に照合する方法

LIKE または REGEXP を使用して MySQL レコード内の複数の単語を効率的に照合する方法

Patricia Arquette
リリース: 2024-11-26 02:15:10
オリジナル
929 人が閲覧しました

How to Efficiently Match Multiple Words in MySQL Records Using LIKE or REGEXP?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート