set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER function [dbo].[GetBusinessDays]
(
@StartDate datetime,
@EndDate datetime
)
returns int
/* Release: ?
Created On: ?
Created By: ?
Purpose: Returns the the number of business days in hours format between two dates.
Does not account for holidays.
NOTES:
*/
as
begin
declare @DaysBetween int
declare @BusinessDays int
declare @Cnt int
declare @EvalDate datetime
select @DaysBetween = 0
select @BusinessDays = 0
select @Cnt=0
select @DaysBetween = datediff(Day,@StartDate,@endDate) + 1
while @Cnt < @DaysBetween
begin
select @EvalDate = @StartDate + @Cnt
if ((datepart(dw,@EvalDate) = 1) or (datepart(dw,@EvalDate) = 7))
BEGIN
select @BusinessDays = @BusinessDays + 1
END
select @Cnt = @Cnt + 1
end
return DateDiff(hh,@StartDate,@EndDate)-@BusinessDays*24
end
No comments:
Post a Comment