declare @s datetime,@e datetime
set @s='20130501'
set @e='20130522'
select 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 (select (datediff(day,@s,@e)-+1) as days, --统计两个间隔时间天数
datepart(weekday,@s+@@datefirst-1) as wd) as d --计算开始那天星期几
本文介绍了一个SQL查询实例,用于计算两个日期之间的总工作日数、非完整周的工作日数,并区分出周六和周日。通过日期差、星期计算等操作,实现对工作日与周末天数的精确统计。
777

被折叠的 条评论
为什么被折叠?



