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’去掉会出错,我想要生成的列只是日期