在考勤应用中,经常会有每月工作天数、公休天数、出勤天数的计算。

当月工作天数=当月天数 - 当月星期六天数 - 当月星期天天数

我们通过DATEDIF、DATEPART这两个函数运算得出。

 

 
    
  1. select DATEDIFF( day,'2010-07-01' , '2010-07-31' ) + 1 - ( 2 * DATEDIFF( week , '2010-07-01' , '2010-07-31' ) + Case When DATEPART( dw , '2010-07-01' ) = 1 Then 1 Else 0 End + Case When DATEPART( dw , '2010-07-31' ) = 7 Then 1 Else 0 End ) as 工作天数