set @str='select * from Employees where ''a''=''a''' + @str
exec(@str)

解决方案 »

  1.   

    declare @str varchar(100)
        set @str='and EmpCo=''10000223'''
    exec('select * from Employees where ''a''=''a''' + @str)
      

  2.   

    那中间有变量时呢?为什么又不行了?declare @str varchar(100),@Q varchar(100)
    exec('select '+@Q+'=empco from Employees' )
    print @Q报错:服务器: 消息 170,级别 15,状态 1,行 1
    第 1 行: '=' 附近有语法错误。
     
      

  3.   

    司马尚龙补充声明:declare @str varchar(100),@Q varchar(100)
    select @Q=empco from Employeesprint @Q这样是可以出结果的。