create table aa(
a int
)declare @s varchar(8000),@day varchar(8)
set @day='20080101'
set @s='alter table aa add q'+@day+' int'
while dateadd(day,1,convert(datetime,@day)) <'2009-01-01'
begin
set @day=convert(varchar(8),dateadd(day,1,convert(datetime,@day)),112)
set @s=@s+',q'+@day+' int'
end
exec(@s)
为什么把‘q’去掉会出错,我想要生成的列只是日期
a int
)declare @s varchar(8000),@day varchar(8)
set @day='20080101'
set @s='alter table aa add q'+@day+' int'
while dateadd(day,1,convert(datetime,@day)) <'2009-01-01'
begin
set @day=convert(varchar(8),dateadd(day,1,convert(datetime,@day)),112)
set @s=@s+',q'+@day+' int'
end
exec(@s)
为什么把‘q’去掉会出错,我想要生成的列只是日期
set @day='20080101'
set @s='alter table aa add q'+@day+' int'
while dateadd(day,1,convert(datetime,@day)) <'2009-01-01'
begin
set @day=convert(varchar(8),dateadd(day,1,convert(datetime,@day)),112)
set @s=@s+',['+@day+'] int'
end