【发布时间】:2017-12-07 16:40:25
【问题描述】:
我有一张表,其中包含当年的公共假期列表。现在,这里的工作日是周一至周六。所以,我试图将年假表与我的查询链接起来,这样我就可以获得给定时间间隔(年、月、周等)的工作日列表 我的代码可以给我包括星期六在内的工作日,但我无法减去(链接)年假。
获取工作日的代码:
DECLARE @StartDate DATETIME
DECLARE @EndDate DATETIME
SET @StartDate = '2017-12-01 10:00:00.000'
SET @EndDate = '2017-12-31 00:00:00.000'
SELECT
(DATEDIFF(dd, @StartDate, @EndDate) + 1)
-(DATEDIFF(wk, @StartDate, @EndDate))
-(CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) AS WorkingDays
AnnualHolidays 的表格布局如下:
Id Date Description
----------- ----------------------- -------------------
50 2017-10-21 00:00:00.000 Holiday 1
49 2017-10-20 00:00:00.000 Holiday 2
那么,有什么方法可以减去@StartDate 和@EndDate 的间隔中的年假,这样我就可以得到指定间隔的实际工作日
【问题讨论】:
标签: sql sql-server