declare @Md int,@Strn char(4),@sql varchar(5000),@i int,@today datetime
set @today='2010-02-23'
set @Md=day( dateadd(day,-1, dateadd(month,1,convert(char(07),@today,120)+'-01')) )
set @sql='select '
set @i=1
where @i<=@Md
begin
select @Strn=right(rtrim(convert(char(12),@today,111)),2)
select @sql=@sql+@Strn
select @i=@i+1
--continue
endselect @sql在查询分析器中运行提示:
服务器: 消息 156,级别 15,状态 1,行 9
在关键字 'where' 附近有语法错误。
set @today='2010-02-23'
set @Md=day( dateadd(day,-1, dateadd(month,1,convert(char(07),@today,120)+'-01')) )
set @sql='select '
set @i=1
where @i<=@Md
begin
select @Strn=right(rtrim(convert(char(12),@today,111)),2)
select @sql=@sql+@Strn
select @i=@i+1
--continue
endselect @sql在查询分析器中运行提示:
服务器: 消息 156,级别 15,状态 1,行 9
在关键字 'where' 附近有语法错误。
declare @Md int,@Strn char(4),@sql varchar(5000),@i int,@today datetime
set @today='2010-02-23'
set @Md = 32 - day(@today + 32 - day(@today))
set @i=1
while @i<=@Md
begin
select @sql = isnull(@sql+',', 'select ') + right('0'+ltrim(@i), 2)
select @i=@i+1
--continue
end
exec (@sql)