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时间是变化的,所以表名是动态的
上面这段是有错误的,不知道怎么做了,请帮忙!~
解决方案 »
- 两条简单的sql语句,觉得意思都一样的,但是有一条就是出错
- 关于安装完 SQL的一个小小的问题
- 在那设置以备份时间命名备份文件?
- 如何在触发器中返回错误?
- where code in('123300180000','123300180001',.......)里面参数太多时提示"Message empty ", in里面参数最多支持多少?
- 怎样用count进行统计啊 我这样做为什么不行
- 新手问题:创建新过程的问题
- sqlserver2005 中的nvarchar(50)类型字段用一个简单的查询语句出错
- SQL SERVER服务不能启动了!怎么办?
- 求一Update语句.
- SQL分页不起做用
- sql 排列问题
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
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
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)
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
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
用这个,需要看你时间精确到什么程度?
恩 ,happycell188的正确