mysql - 使用列中的值作为 LIKE 语句中表达式的值

标签 mysql sql database select sql-like

我在我网站的数据库中有一个表 users,其中包含 usernamereal_name、电子邮件、密码等列的注册用户,等。我想获取所有在他们的 真实姓名 中包含他们的 username 的条目。

例子:

id | username   | real_name
------------------------------
1  | JoshGrimes | JoshGrimesOG
2  | DanLurk    | Daniel Lurk
3  | AdamLevine | AdamLevineGJ

我需要选择条目 1 和 3,因为它们的真实姓名与用户名完全匹配。

最佳答案

你可以使用like:

select t.*
from t
where real_name like concat('%', username, '%');

您还可以使用 locate()position():

where locate(username, realname) > 0;

关于mysql - 使用列中的值作为 LIKE 语句中表达式的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58845133/

相关文章:

php - 尽管没有准备好,这个 SQL 语句是否可以安全地防止注入(inject)?

mysql - SELECT 列表不在 GROUP BY 子句中并且包含非聚合列 .... 与 sql_mode=only_full_group_by 不兼容

mysql - 使用 'datetime' 列选择最近 3 个月的记录的简单方法

mysql - 如何构建与 sphinx 一起使用的 mysql 数据库?

mysql - 连接多个表中的列

sql - 如何查找 SQL Server 实例的数据目录?

sql - 将新值映射到 sql 查询的有效方法(即 4 列,每列具有相同的凭据)

php - 这与 sql_mode=only_full_group_by 不兼容

php - Laravel 中缓慢的 MySQL 查询在其他地方却很快

c#数据库选择然后插入。但是值为0