2014-10-11 20 views
1

这样的IM创造接受一个参数namee并返回其名称是namee怎么做模式匹配的变量在MySQL

create procedure search_res(IN namee varchar(50)) 
    begin 
    select * from usr where name like %namee%; 
    end 

但即时得到以下错误的子串的所有用户的过程。 #1064 - 您的SQL语法错误;检查与你的MySQL服务器版本相对应的手册,在'%namee%;'附近使用正确的语法。结束'在第3行。 什么是正确的语法?

+0

难道你要报价添加到' '%namee%''? – proPhet 2014-10-11 14:15:34

+0

添加引号将与namee匹配,而不是namee中的值。 – 2014-10-11 14:20:38

+0

你可以添加'usr'表格的示例数据 – Ram 2014-10-11 15:07:54

回答

1

使用CONCAT功能

select * from usr where name like CONCAT('%',namee,'%'); 
+0

谢谢你的工作:) – 2014-10-11 20:14:05