Распространяя этот вопрос: Hereдней Количества работы между двумя датами в T-SQL (Extended)
Я хотел бы рассчитывать рабочие дни между двумя датами в T-SQL, только в выходные дни, но не весь рабочий день (24 hrs), скажем так, с 9 утра до 5:30 вечера каждый рабочий день.
Как я могу это сделать с помощью, например CMS 'подхода:
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '2008/10/01'
SET @EndDate = '2008/10/31'
SELECT
(DATEDIFF(dd, @StartDate, @EndDate) + 1)
-(DATEDIFF(wk, @StartDate, @EndDate) * 2)
-(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END)
-(CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END)
рабочего времени часть бизнес часов рабочего дня. В этом случае мне придется менять датифф в часах вместо дней. Предположим, что я хочу узнать рабочее время между двумя датами в понедельник и вторник, с вышеупомянутым решением у меня будет 48 часов (2 дня), но с рабочими часами (с 9 утра до 5 вечера) будет 16 часов, вот что мне нужно , – Somebody