declare @sql varchar(2000)declare @condition varchar(200)Set @condition = 'where smm_num >= "'+ 'S2010010' + '"'select @conditionselect   @sql   =   'select   top 100 *   from   sms_200912 ' + @conditionexec(@sql)运行后出现如下错误 :Msg 207, Level 16, State 1, Line 1
Invalid column name 'S2010010'.我在查询定义的条件变量里面用的是双引号,因为单引号我赋不进去值,请大家帮忙指点一上,谢谢!!

解决方案 »

  1.   

    declare @sql varchar(2000)declare @condition varchar(200)Set @condition = 'where smm_num >= ''S2010010'''select @conditionselect   @sql   =   'select   top 100 *   from   sms_200912 ' + @conditionexec( @sql)
      

  2.   


    declare @sql varchar(2000)declare @condition varchar(200)Set @condition = 'where smm_num >= '+ '''S2010010'''select @conditionselect   @sql   =   'select   top 100 *   from   sms_200912 ' + @condition
    exec(@sql)
      

  3.   


    declare @sql varchar(2000)
    set @sql=''
    declare @condition varchar(200)Set @condition = 'where smm_num >= ''S2010010'''select   @sql  = 'select   top 100 *   from   sms_200912 ' + @condition--print @sql
    exec(@sql)
      

  4.   


    declare @sql varchar(2000)declare @condition varchar(200)Set @condition = 'where smm_num >='+ '''S2010010''' select @conditionselect   @sql   =   'select   top 100 *   from   sms_200912 ' + @conditionexec(@sql)
      

  5.   


    declare @sql varchar(2000)declare @condition varchar(200)Set @condition = 'where smm_num >= "'+ '''S2010010' + '''"'select @conditionselect   @sql   =   'select   top 100 *   from   sms_200912 ' + @conditionexec(@sql)