一段时间内的工作日天数,只排除周六日,未排除节假日

DECLARE @beginTime DATETIME ='2017-12-01'
DECLARE @endTime DATETIME ='2017-12-22'
set language N'Simplified Chinese'

;WITH c AS (--时间段内的每一天
select DATEADD(dd,number,@beginTime) as d
FROM master..spt_values
WHERE type='p' and DATEDIFF(dd,DATEADD(dd,number,@beginTime),@endTime)>0
)
,d AS (--应写的条数
SELECT SUM(CASE WHEN datename(weekday, d)='星期六' OR datename(weekday, d)='星期日' THEN 0 ELSE 1 END) shoTot
FROM c)

SELECT * FROM d

posted @ 2017-12-22 09:33  Mr.Thanks  阅读(370)  评论(0编辑  收藏  举报