Here is a starterCREATE FUNCTION dbo.fnWorkHours( @StartDate DATETIME, @EndDate DATETIME)RETURNS FLOATASBEGIN RETURN CAST( (DATEDIFF(DAY, @StartDate, @EndDate) + 1) - (DATEDIFF(WEEK, @StartDate, @EndDate) * 2) - (CASE WHEN DATENAME(WEEKDAY, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) - (CASE WHEN DATENAME(WEEKDAY, @EndDate) = 'Saturday' THEN 1 ELSE 0 END) - CASE WHEN DATENAME(WEEKDAY, @StartDate) IN ('Saturday', 'Sunday') THEN 0 ELSE CAST(CONVERT(CHAR(12), @StartDate, 114) AS DATETIME) END - CASE WHEN DATENAME(WEEKDAY, @EndDate) IN ('Saturday', 'Sunday') THEN 0 ELSE 1.0 - CAST(CONVERT(CHAR(12), @EndDate, 114) AS DATETIME) END AS FLOAT) * 24END
E 12°55'05.63"N 56°04'39.26"