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

Using a value from a column as a value in an expression in LIKE statement

我有一个 table users,在我的网站数据库中有注册用户,其中包含 usernamereal_name、电子邮件、密码等列。我想要在 real name.

中获取所有包含 username 的条目

示例:

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

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

您可以使用 like:

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

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

where locate(username, realname) > 0;