ホームページ >データベース >mysql チュートリアル >特定のテキスト文字列内に値が含まれる MySQL 行を見つけるにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。