create procedure news_SelectByTitle(in ntitle varchar(40))
select n.id,n.title,n.createTime,c.name from news n 
inner join category c on n.caId = c.id
where n.title like "%"||ntitle||"%"
order by n.createTime desc
call news_SelectByTitle ("第二条")
上面的存储过程当我执行下面调用的时候查出来的结果不正确,求助高手帮忙看下,这里的"%"||ntitle||"%"应该怎样来组合查出来的结果才是正确的,不甚感激!

解决方案 »

  1.   

    delimiter $$create procedure news_SelectByTitle(in ntitle varchar(40))
    begin 
    select n.id,n.title,n.createTime,c.name 
    from news n   inner join category c on n.caId = c.id
    where n.title like '%'+ntitle+'%'
    order by n.createTime desc;
    end;
    $$delimiter ;
    注意结束符号 
      

  2.   

    对 是使用concat ...习惯在mssql中的加号 晕》。。
      

  3.   

    但是很奇怪,我试过 '%'||ntitle||‘%'
    这样也是不行的,只能用concat吗