CREATE FUNCTION ufnGetBusinessDays (@DateStart DATETIME,@DateEnd DATETIME)RETURNS
AS INTBEGINIF ( @DateStart IS NULLOR @DateEnd IS NULL )RETURN ( 0 )DECLARE @i INT = 0;WHILE ( @DateStart <= @DateEnd )BEGINSET @i = @i + CASEWHEN datename(dw, @DateStart) IN ('Saturday', 'Sunday' )
THEN 0ELSE 1END
SET @DateStart = @DateStart + 1END -- while RETURN ( @i )END -- functionGO
SELECT dbo.ufnGetBusinessDays('2012-06-01', '2012-06-20')
AS INTBEGINIF ( @DateStart IS NULLOR @DateEnd IS NULL )RETURN ( 0 )DECLARE @i INT = 0;WHILE ( @DateStart <= @DateEnd )BEGINSET @i = @i + CASEWHEN datename(dw, @DateStart) IN ('Saturday', 'Sunday' )
THEN 0ELSE 1END
SET @DateStart = @DateStart + 1END -- while RETURN ( @i )END -- functionGO
SELECT dbo.ufnGetBusinessDays('2012-06-01', '2012-06-20')