Mysql 存储过程中使用LIKE的准确方法

在Mysql中成功建立了存储过程,但是运行的时候没有任何反应,代码如下:
delimiter create procedure search
(
idt int
)
BEGIN
SELECT * FROM xx WHERE id LIKE '%idt%';
end

delimiter ;

老规矩,又是一番狂搜。。。唉
找到问题了,’%idt%’ 这样写的话 在存储过程中是属于常量,执行存储过程当然没有数据咯。必须写成如下格式才可以,这样就是变量了:
SELECT * FROM xx WHERE id LIKE CONCAT('%',idt,'%');

评论关闭

return top