Add business days to date in SQL without loops

后端 未结 25 2875
无人共我
无人共我 2020-12-02 22:54

I currently have a function in my SQL database that adds a certain amount of business days to a date, e.g. if you enter a date that is a Thursday and add two days, it will r

25条回答
  •  萌比男神i
    2020-12-02 23:38

    I've very recently solved this problem to add two working days to the current date by creating an INT value @DaysToAdd - tested and working great on 2008 / 2012.

    DECLARE @DaysToAdd INT
    
    SELECT @DaysToAdd = CASE  
       WHEN DATEPART(WEEKDAY,GETDATE()) =  1 THEN 3 -- Sunday -> Wednesday
       WHEN DATEPART(WEEKDAY,GETDATE()) =  5 THEN 4 -- Thursday -> Monday
       WHEN DATEPART(WEEKDAY,GETDATE()) =  6 THEN 4 -- Friday -> Tuesday
       WHEN DATEPART(WEEKDAY,GETDATE()) =  7 THEN 4 -- Saturday -> Wednesday
       ELSE 2 END
    
    SELECT DATEADD(DAY, @DaysToAdd, GETDATE()) AS TwoWorkingDaysTime
    

提交回复
热议问题