ホームページ >データベース >mysql チュートリアル >MySQL の LIKE 演算子を逆にして文字列内に含まれる行を検索するにはどうすればよいですか?

MySQL の LIKE 演算子を逆にして文字列内に含まれる行を検索するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-04 04:52:39656ブラウズ

How Can I Reverse MySQL's LIKE Operator to Find Rows Contained Within a String?

MySQL の LIKE 演算子の逆関数を見つける

MySQL の LIKE 演算子を使用すると、指定されたテキスト フラグメントを含む行を取得できます。しかし、提供されたテキスト文字列と内容が一致する行を識別することが要件の場合はどうなるでしょうか?この逆の操作 (クエリ テキスト内に含まれる行に基づいて行が選択される) は、次の手法を使用して実現できます。

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

このクエリでは、指定された場所でユーザー テーブルの name 列が取得されます。検索対象の名前を含む文字列は、行の値内の部分文字列として表示されます。 CONCAT 関数は、各行の値をパーセント記号で囲み、部分文字列検索を可能にするワイルドカード パターンを作成するために使用されます。

たとえば、ユーザー テーブルに「John Smith」という名前が含まれている場合は、次のように返されます。これは、指定された文字列「John Smith と Peter Johnson are best friends」に部分文字列として名前が含まれているためです。この手法は、LIKE 演算子の逆の操作を効果的に実行し、行内に含まれるテキストの断片ではなく、指定されたテキスト内に含まれる行を検索します。

以上がMySQL の LIKE 演算子を逆にして文字列内に含まれる行を検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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