Tuesday, January 10, 2012
Get days between 2 different times
/*get the all "dayeNumber" days between the begin and end date -- Sunday dayeNumber = 1 */
create FUNCTION [dbo].GetDays
(
@dayNumber int ,@BeginDate datetime,@EndDate datetime
)
RETURNS @days TABLE(date datetime)
AS
Begin
declare @diff int
if @dayNumber > datepart(dw,getdate())
set @diff= @dayNumber- datepart(dw,getdate())
else
set @diff= @dayNumber- datepart(dw,getdate()) +7
set @BeginDate =(Select DATEADD(day,@diff,getdate()))
set @EndDate = (Select DateAdd( month,5,getdate()))
-- get days
WHILE @BeginDate <= @EndDate BEGIN
INSERT INTO @Days SELECT @BeginDate
SELECT @BeginDate = DATEADD(dd, 7, @BeginDate)
ENDreturn
end
Subscribe to:
Posts (Atom)