SQL函数(输出月份的每一天)
create function fn_test(@year varchar(04), @month varchar(02))
returns @t table([date] datetime)
AS
begin
declare @begin datetime, @end datetime
select @begin=convert(datetime,@year+ '-'+@month+ '-01')
select @end=dateadd(day,-1,dateadd(month,1,@begin))
insert into @t select @begin
while @begin < @end
begin
insert into @t select dateadd(day, 1, @begin)
set @begin=dateadd(day, 1, @begin)
end
return
end
select * from fn_test('2007', '02')
returns @t table([date] datetime)
AS
begin
declare @begin datetime, @end datetime
select @begin=convert(datetime,@year+ '-'+@month+ '-01')
select @end=dateadd(day,-1,dateadd(month,1,@begin))
insert into @t select @begin
while @begin < @end
begin
insert into @t select dateadd(day, 1, @begin)
set @begin=dateadd(day, 1, @begin)
end
return
end
select * from fn_test('2007', '02')