首页 >数据库 >mysql教程 >如何查找其值包含在给定文本字符串中的 MySQL 行?

如何查找其值包含在给定文本字符串中的 MySQL 行?

Patricia Arquette
Patricia Arquette原创
2025-01-05 17:45:41460浏览

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 这样的行将被返回。

但是如果我们寻找相反的行,其值存在于查询文本中呢?例如,提供“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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn