У меня есть таблица на сервере sql, в которой есть следующие столбцы:
Date isHoliday
2020-01-01 1
2020-01-02 0
2020-01-03 0
2020-01-04 1
.... ...
.... ...
2020-01-31 0
В столбце isHoliday указывается, является ли дата выходным днем. Мне нужно рассчитывать завершенные рабочие дни каждый день. До сих пор я пробовал:
SELECT MONTH(CAST(Date AS Date)) AS 'Month',
COUNT(Distinct(date)) AS 'Total Business Days',
COUNT(Distinct(date)) - (DATEDIFF(DD, GETDATE(),EOMONTH(GETDATE()))) AS 'Completed Business Days'
FROM dbo.holidays oh
WHERE YEAR(date) = 2020 AND isholiday = 0
GROUP BY MONTH(CAST(Date AS Date))
. Выше (DATEDIFF(DD, GETDATE(),EOMONTH(GETDATE())))
не исключает нерабочие дни, а вместо этого дает разницу в датах между текущим днем и концом месяца. Как изменить это, чтобы включить только рабочие дни?