在存储过程中
我是这样写的
declare @sql nvarchar(300)
@maxbillcode varchar(15),
set @sql='select @a=max(code) from ' + @tablename + 'where billcode like @name%'
exec sp_executesql @sql,N'@a varchar(15) output',@maxbillcode output
我要根据@name来进行模糊查询,获取最大的code

解决方案 »

  1.   


    set @sql='select @a=max(code) from ' + @tablename + 'where billcode like ''%'+ @name+'%'''
      

  2.   

    不行啊,还是报like附近有语法错误,
    我只要右模糊查询
      

  3.   

    如果@name是传进来的参数,直接like %@name%是不行的、必须去掉@name的前后空格ltrim(rtrim(@name))  
      

  4.   

    @name不是传进来的变量,是通过传进来的变量查出来的
      

  5.   

    好了 ,
    where 前没加空格
      

  6.   


    set @sql='select @a=max(code) from ' + @tablename + 'where billcode like '''+@name+'%'''