select * into 表名2 from 表名1 
这句里的表名2可不可以用变量代替呢?
最好能是当天的系统日期+时间呢?

解决方案 »

  1.   

    可以!
    declare @tbname varchar(20)
    select @tbname='t'+replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    exec('select * into '+@tbname+' from 表名1')
      

  2.   

    --用动态SQL
    declare @sql varchar(1000)
    set @sql=replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    exec('select * into  '+@sql+'  from 表名1')
      

  3.   

    可以使用变量的
    getdate() 当前时间
      

  4.   

    --日期转换参数
    select CONVERT(varchar,getdate(),120)
    --2009-03-15 15:10:02select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    --20090315151201select CONVERT(varchar(12) , getdate(), 111)
    --2009/03/15select CONVERT(varchar(12) , getdate(), 112)
    --20090315select CONVERT(varchar(12) , getdate(), 102)
    --2009.03.15select CONVERT(varchar(12) , getdate(), 108)
    --15:13:26
      

  5.   

    如果你光要日期,表名需要加[],否则会报错:
    declare @tbname varchar(20)
    select @tbname=replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
    exec('select * into ['+@tbname+'] from 表名1')