/*-- 得到两个日期之间的日期列表--调用示例 select * from dbo.f_getdate('2003-01-01','2003-01-20') */if exists(select 1 from sysobjects where id=object_id('f_getdate') and objectproperty(id,'IsInlineFunction')=0) drop function f_getdatego create function f_getdate(@dt1 datetime,@dt2 datetime) returns @re table(id int identity(0,1),dt datetime) as begin declare @i int select @i=datediff(day,@dt1,@dt2)+1
while @i>1 begin insert into @re(dt) select top 100 @dt1 from syscolumns set @i=@i-100 end delete from @re where id>datediff(day,@dt1,@dt2)
update @re set dt=dateadd(day,id,dt) return end go
得到两个日期之间的日期列表--调用示例
select * from dbo.f_getdate('2003-01-01','2003-01-20')
*/if exists(select 1 from sysobjects where id=object_id('f_getdate') and objectproperty(id,'IsInlineFunction')=0)
drop function f_getdatego
create function f_getdate(@dt1 datetime,@dt2 datetime)
returns @re table(id int identity(0,1),dt datetime)
as
begin
declare @i int
select @i=datediff(day,@dt1,@dt2)+1
while @i>1
begin
insert into @re(dt) select top 100 @dt1 from syscolumns
set @i=@i-100
end
delete from @re where id>datediff(day,@dt1,@dt2)
update @re set dt=dateadd(day,id,dt)
return
end
go