我正在try 设置一些简单的SQL脚本来帮助进行一些短期的数据库管理.

我遇到的问题就是LIKE条款.

SET @email = 'test@test.com';

SELECT email from `user` WHERE email LIKE '%@email%';

所以我想让它根据变量中设置的邮箱查找结果.如果我手动将邮箱输入LIKE子句,查询就会生效.

如何让LIKE子句与用户变量一起工作?

更新:

SET @email = 'test@test.com';

SELECT project.projectno, project.projectname, login.username, 
CONCAT(login.firstname, ' ', login.lastname), projectuser.title 
FROM projectuser 
INNER JOIN login ON projectuser.uid = login.uid 
LEFT JOIN project ON projectuser.pid = project.pid
WHERE login.username LIKE CONCAT ('%', @email, '%')

给出错误"函数mydb.CONCAT不存在"

查询在没有CONCAT()的情况下工作:

SET @email = 'test@test.com';

SELECT project.projectno, project.projectname, login.username, 
CONCAT(login.firstname, ' ', login.lastname), projectuser.title 
FROM projectuser 
INNER JOIN login ON projectuser.uid = login.uid 
LEFT JOIN project ON projectuser.pid = project.pid
WHERE login.username LIKE @email

推荐答案

SET @email = 'test@test.com';

SELECT email from `user` WHERE email LIKE CONCAT('%', @email, '%');

Mysql相关问答推荐

MySQL查询获取图书的唯一读取页面数

客户跨订阅的跨时间线计数

如何在Sequelize中创建限制查询?

如何计算超过特定数字的所有不同ID组,然后返回这些ID?

如何从MySQL数据库中提取入职第一个月的工作天数?

在MySQL的join查询中进行计算

SQL 请求:REPLACE 和通配符 %.如何做正确的事?

使用 presto 或 mysql 添加每个组中的缺失值

外部磁盘上的MySQL表空间和数据文件

在MySQL查询中查找和替换表内的值

过滤值为0时如何在MySQL查询中设置条件?

关联同一个表中的两列

提取 MySQL 5.7 连续值的差异

MySQL 8 - MBRContains 不使用空间索引

如何在不违反唯一约束的情况下交换 MySQL 中两行的值?

函数 mysql_real_escape_string 的 PDO 类似功能是什么?

安装 mysql-python (Windows)

用户 'User'@'%' 和 'User'@'localhost' 不一样吗?

MySQL中的行值增加和减少1

第 1 行的 CSV 输入中的列数无效错误