while @start_day <= @end_day
begin
insert into #date select @start_day
select @start_day = dateadd(day,1,@start_day)
end
---------------------------------------------------
step 3
---------------------------------------------------
select * from #date
set nocount on
declare @t1 datetime
declare @t2 datetime
declare @i int
set @t1='2007-1-1'
set @t2='2007-6-6'
declare @tbl table(t datetime)
set @i=0
while @i<=datediff(day,@t1,@t2)
begin
insert into @tbl select dateadd(day,@i,@t1)
set @i=@i+1
end