クエリ文字列を含む行の検索: LIKE 演算子の逆
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() 関数がワイルドカード文字 (%) と名前フィールドを結合してパターンを作成します。
%name%
LIKE 演算子次に、このパターンを指定された文字列と照合し、その中に見つかった名前を含むすべての行を識別します。したがって、この場合、「John Smith」と「Peter Johnson」が取得されます。
この手法を使用すると、より大きな文字列内に含まれる行を検索でき、LIKE 演算子の機能を効果的に逆転させ、データベース内の特定のデータを検索する柔軟な方法を提供します。
以上が特定の文字列内に含まれる MySQL 行を見つけるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。