declare @sql as varchar(200)
set @sql = 'select * from table'+right(replace(convert(char(10),getdate(),121),'-','_'),6)

解决方案 »

  1.   

    错了
    declare @sql as varchar(200)
    set @sql = 'select * from table'+right(replace(convert(char(10),dateadd(day,-1,getdate()),121),'-','_'),6)
    print @sql
      

  2.   

    SET DATEFORMAT mdy
    declare @mth varchar(50)
    declare @day varchar(50)
    declare @tmp varchar(50)
    declare @sql as varchar(200)
    set @tmp=convert(varchar(50),dateadd(day,-1,getdate()))
    set @mth=substring(@tmp,1,2)
    set @day=substring(@tmp,4,2)
    set @sql = 'select * from table_'+@mth+'_'+@day
    exec(@sql)
      

  3.   

    To 虫虫:工作得很好,谢谢。
    To 半知半解:在我的机器上得到的日期不是期望的纯数字格式,有英文缩写在其中,不知道你有没有调试过。也谢谢你热心帮忙。