DECLARE @timeend TIME = '17:00'DECLARE @timestart TIME = '08:30'DECLARE @daylength INT = DATEDIFF(mi, @timestart, @timeend)DECLARE @StartDate DATETIME= '2012-05-10 8:30:00.000';DECLARE @EndDate DATETIME= '2012-05-14 15:00:00.000';SELECT (DATEDIFF(d, @StartDate, @enddate) * @daylength) --TotalMinutes, - (DATEDIFF(week, @StartDate, @enddate) * 2 * @daylength) --Weekend - (@daylength - DATEDIFF(mi, @timestart, CAST(@EndDate AS TIME))) --LastDay - DATEDIFF(mi,@timeend, CAST(@startdate AS TIME) ) -- First Day