Calculate total business working days between two dates

后端 未结 2 2103
南方客
南方客 2021-01-22 10:49
select  count(distinct(dateadd(d, 0, datediff(d, 0,checktime)))) as workingdays
from departments,
 dbo.USERINFO INNER JOIN dbo.CHECKINOUT ON 
     dbo.USERINFO.USERID =          


        
2条回答
  •  青春惊慌失措
    2021-01-22 11:25

    following query calculate Fridays count between @FromDate and @ToDate variable

    ((DATEDIFF(DAY,@FromDate,@ToDate)-(6-DATEPART(dw,@FromDate)))/7)*2
    

    Following query calculate Working day count and business day count between to date :

    DECLARE @FromDate DATE = '2014-05-01',
        @ToDate DATE = '2014-05-30'
    
    SELECT  COUNT(DISTINCT CAST(checktime AS Date)) as workingdays,
            DATEDIFF(DAY,@FromDate,@ToDate) -
           ((DATEDIFF(DAY,@FromDate,@ToDate)-(6-DATEPART(dw,@FromDate)))/7)*2 AS BusinessDay
    from departments,
     dbo.USERINFO INNER JOIN dbo.CHECKINOUT ON 
         dbo.USERINFO.USERID = dbo.CHECKINOUT.USERID
    where  userinfo.name='Gokul Gopalakrishnan' and deptname='GEN/SUP-TBL' 
    and checktime>= @FromDate and checktime<=@ToDate
    

提交回复
热议问题