DECLARE @bt DATETIME,@et DATETIME
SELECT @bt='20090801',@et='20090913'
;WITH t AS
(
SELECT DATEDIFF(dd,@bt,@et)+1 AS [days],
DATEPART(w,@bt+@@DATEFIRST-1) AS [wd] --@@DATEFIRST-1 按周一为一周的第一天查询
)
SELECT [Workdays]=[days]/7*5+[days]%7
- CASE WHEN 6 BETWEEN [wd] AND [wd]+[days]%7-1 THEN 1 ELSE 0 END
- CASE WHEN 7 BETWEEN [wd] AND [wd]+[days]%7-1 THEN 1 ELSE 0 END
FROM t
/*
Workdays
-----------
30
*/
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/htl258/archive/2009/09/14/4549877.aspx
计算两个日期段之间有多少个工作日
最新推荐文章于 2022-07-25 17:26:37 发布
