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 */
计算两个日期段之间有多少个工作日
最新推荐文章于 2019-07-10 12:59:50 发布