在考勤應用中,經常會有每月工作天數、公休天數、出勤天數的計算。
當月工作天數=當月天數 - 當月星期六天數 - 當月星期天天數
我們通過DATEDIF、DATEPART這兩個函數運算得出。
- 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 工作天數