使用列中的值作为 LIKE 语句中表达式的值
Using a value from a column as a value in an expression in LIKE statement
我有一个 table users
,在我的网站数据库中有注册用户,其中包含 username
和 real_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;
我有一个 table users
,在我的网站数据库中有注册用户,其中包含 username
和 real_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;