用动态SQL语句加上通配符查训:declare @sql varchar(8000)
declare @test varchar(20)
set @test = '2006%'
set @sql='select * from student where no like '+@li
exec(@sql)为什么总是说:  第 1 行: '%' 附近有语法

解决方案 »

  1.   

    set @sql='select * from student where no like '''+@li+''''
      

  2.   

    print @sql,你就知道错误在哪里了
      

  3.   

    楼上的说得对,看看SQL结果就知对错了
      

  4.   

    declare @sql varchar(8000)
    declare @test varchar(20)
    set @test = '2006%'
    set @sql='select * from student where no like ''%'+@li+'%'''
    exec(@sql)
      

  5.   

    declare @sql varchar(8000)
    declare @test varchar(20)
    set @test = '2006%'
    set @sql='select * from student where no like '+@li  --@li 从哪儿来的?
    exec(@sql)declare @sql varchar(8000)
    declare @test varchar(20)
    set @test = '2006%'
    set @sql='select * from student where no like '''+@test+''''
    exec(@sql)