sqlserver 创建包含当前时间为表名的新表

xiaotiange 2010-09-16 05:49:30

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

时间是变化的,所以表名是动态的
上面这段是有错误的,不知道怎么做了,请帮忙!~
...全文
166 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
baifucn 2010-09-16
  • 打赏
  • 举报
回复
sql也是一门学问啊。。 太高深了 我只会简单的select update insert delete.... 嘿嘿, 丢人啊。。。。。。
xiaotiange 2010-09-16
  • 打赏
  • 举报
回复
哦 我是说 1 楼的 错误
恩 ,happycell188的正确
王向飞 2010-09-16
  • 打赏
  • 举报
回复
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
用这个,需要看你时间精确到什么程度?
Rotel-刘志东 2010-09-16
  • 打赏
  • 举报
回复
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
东那个升 2010-09-16
  • 打赏
  • 举报
回复
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)
xiaotiange 2010-09-16
  • 打赏
  • 举报
回复
谢谢 ~!
你的写法我试过了,是错误的……
喜-喜 2010-09-16
  • 打赏
  • 举报
回复
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
王向飞 2010-09-16
  • 打赏
  • 举报
回复
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

34,575

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧