declare @sqlstr varchar(200) 
declare @i varchar(20) 
set @i=getdate()  
set @sqlstr = 'CREATE TABLE TABLE_'+ cast(@i as varchar)
 (
Id int primary key  ,
[Send] varchar(50) ,
SendTime datetime,
[Receive] varchar(50),
ReceiveTime datetime,
IsReturn int,
IsMatch int,
TimeSpan int
)  
--PREPARE  @sqlstr;
EXECUTE @sqlstr时间是变化的,所以表名是动态的
上面这段是有错误的,不知道怎么做了,请帮忙!~

解决方案 »

  1.   

    declare @sqlstr varchar(200) 
    declare @i varchar(20) 
    set @i=getdate()  
    set @sqlstr = 'CREATE TABLE TABLE_'+ convert(varchar(20),@i,120)+'
     (
    Id int primary key  ,
    [Send] varchar(50) ,
    SendTime datetime,
    [Receive] varchar(50),
    ReceiveTime datetime,
    IsReturn int,
    IsMatch int,
    TimeSpan int
    )'  
    EXECUTE @sqlstr
      

  2.   

    declare @sqlstr varchar(200) 
    declare @i varchar(20) 
    set @i=replace(replace(replace(convert(varchar(19),getdate(),20),' ',''),'-',''),':','')
    print @i        --20100916175548   2010-09-16 17:55:48
    set @sqlstr = 'CREATE TABLE TABLE_'+@i+'
     (
    Id int primary key  ,
    [Send] varchar(50) ,
    SendTime datetime,
    [Receive] varchar(50),
    ReceiveTime datetime,
    IsReturn int,
    IsMatch int,
    TimeSpan int
    )'
    --PREPARE  @sqlstr;
    EXEC(@sqlstr)--创建数据表 TABLE_20100916175548
      

  3.   

    declare @sqlstr varchar(200) 
    declare @i datetime
    set @i=getdate()  
    set @sqlstr = 'CREATE TABLE '+ quotename('TABLE_'+convert(char(10),@i,120))
     +'(
    Id int primary key  ,
    [Send] varchar(50) ,
    SendTime datetime,
    [Receive] varchar(50),
    ReceiveTime datetime,
    IsReturn int,
    IsMatch int,
    TimeSpan int
    )'  exec  (@sqlstr)
      

  4.   

    declare @sqlstr varchar(200) 
    declare @i varchar(20) 
    set @i=getdate()  
    set @sqlstr = 'CREATE TABLE TABLE_'+ convert(varchar(20),@i,120)+'
     (
    Id int primary key  ,
    [Send] varchar(50) ,
    SendTime datetime,
    [Receive] varchar(50),
    ReceiveTime datetime,
    IsReturn int,
    IsMatch int,
    TimeSpan int
    )'  
    EXECUTE @sqlstr
      

  5.   

    declare @sqlstr varchar(200)   
    set @sqlstr = 'CREATE TABLE TABLE_'+ convert(varchar(20),getdate(),112)+'
     (
    Id int primary key  ,
    [Send] varchar(50) ,
    SendTime datetime,
    [Receive] varchar(50),
    ReceiveTime datetime,
    IsReturn int,
    IsMatch int,
    TimeSpan int
    )'  
    EXECUTE @sqlstr
    用这个,需要看你时间精确到什么程度?
      

  6.   

    哦 我是说 1 楼的 错误
      恩 ,happycell188的正确
      

  7.   

    sql也是一门学问啊。。 太高深了  我只会简单的select update insert delete.... 嘿嘿, 丢人啊