以下是无效的简化查询。
SET @abc = CONCAT('%','string','%');
SET @query = CONCAT('SELECT *
FROM table
WHERE column LIKE ',@abc);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
我需要在SELECT中使用CONCAT,因为在真实查询中有很多其他变量。
当我在 WHERE 子句中使用一些简单的 COLUMN = xyz 时,真正的查询工作正常。但是当我尝试使用 LIKE%xyz% ...
时无效答案 0 :(得分:1)
像这样使用
SET @abc = CONCAT('"%','string','%"');
SET @query = CONCAT('SELECT *
FROM table
WHERE column LIKE ',@abc);
PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
检查我添加的第一行“显示@abc like”%string%“