ホームページ >データベース >mysql チュートリアル >特定のテキスト文字列内に値が含まれる MySQL 行を見つけるにはどうすればよいですか?

特定のテキスト文字列内に値が含まれる MySQL 行を見つけるにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-05 17:45:41464ブラウズ

How Can I Find MySQL Rows Whose Values Are Contained Within a Given Text String?

MySQL のクエリ テキスト内に含まれる行値の検索

MySQL の LIKE 演算子は、指定されたクエリ テキストを含む行の検索に優れています。次の例を考えてみましょう。

SELECT name FROM user WHERE name LIKE "%john%"

John Smith や Peter Johnson のような行が返されます。

しかし、その逆、値がクエリ テキスト内に存在する行を検索するとどうなるでしょうか。たとえば、「ジョン スミスとピーター ジョンソンは親友です」と指定し、その文字列に存在するテーブルからすべての名前を検索します。これを実現するにはどうすればよいでしょうか?

逆 LIKE 操作

この逆 LIKE 操作を実行するには、CONCAT() 関数を利用することが重要です:

SELECT name FROM user 
WHERE 'John Smith and Peter Johnson are best friends' LIKE
  CONCAT('%', name, '%')

CONCAT() 関数は文字列を連結します。この場合、各行の名前をパーセント記号 (「%」) で囲みます。これにより、LIKE 演算子は、クエリ テキスト全体にそれぞれの名前が含まれているかどうかを確認できます。

たとえば、ユーザー テーブルに「John」と「Peter」の名前が含まれている場合、クエリは次を返します。

| name |
| --- |
| John |
| Peter |

この手法は、従来の LIKE 動作を逆転させて、特定のテキストに一致する行を効果的に識別します。

以上が特定のテキスト文字列内に値が含まれる MySQL 行を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。