提示什么样的错误
@idname的类型必须是字符类型
如果是数字类型
一定有错SELECT 'select '+@idname+' from '+@tablename+' where  '+@idname+' like '+@timeid+' order by '+@idname
执行此结果,看有没有错误

解决方案 »

  1.   

    exec ('select '+@idname+' from '+@tablename+' where  '+@idname+' like '''+@idstring+''' order by '+@idname)
      

  2.   

    declare @tablename varchar(30),
    @idname varchar(30),
    @idstring varchar(10),
    @idtemp varchar(9)set @idname='badness_item_id'
    set @tablename='badness_item_info'
    set @idtemp=datepart(dd,getdate())
    set @idstring=@idtemp+'[0-9]'  exec ('select '+@idname+' from '+@tablename+' where  '+@idname+' like '''+@idstring+''' order by '+@idname)
      

  3.   

    多谢二位,特别是pengdali(大力) ,我的问题解决了!!
      

  4.   

    不过我还有个问题:
    '''+@idstring+'''
    '+@idstring+' 
    有什么区别? 
    和set @idstring=@idtemp+'[0-9]'  中的'[0-9]'有什么关系??