Как я могу исключить выходные и праздничные дни в запросе SQL Server

Я создаю запрос, который будет корректировать дату, исключая праздничные и выходные дни.

Пример данных:

Adjusted Date | Adjusted Date(Excluding Holidays and weekends)

02/06/16 | 02/09/16

В моем примере Дата является выходным, а скорректированная дата становится 9 февраля, потому что 8 февраля - выходной день, поэтому ее необходимо настроить так, чтобы скорректированная дата была рабочим днем. В настоящее время у меня есть отдельная таблица всех выходных и праздничных дней в финансовом году.

select  case when (
               select   count(dbo.WeekendsHoliday.[Weekends & Holidays])
               from     dbo.WeekendsHoliday
               where    dbo.WeekendsHoliday.[Weekends & Holidays] 
                    = case when convert(time, [Time Received]) > convert(time, '5:00:00 PM') 
                           then dateadd(day, 1, [Date Received]) 
                           else [Date Received] 
                      end
              ) > 0 
         then case (datename(DW, 
                             case when convert(time, [Time Received]) > convert(time, '5:00:00 PM') 
                                  then dateadd(day, 1, [Date Received])
                                  else [Date Received] 
                             end))
                when 'Saturday'
                then dateadd(day, 2, 
                             case when convert(time, [Time Received]) > convert(time, '5:00:00 PM') 
                                  then dateadd(day, 1, [Date Received])
                                  else [Date Received] 
                             end)
                else dateadd(day, 1, 
                             case when convert(time, [Time Received]) > convert(time, '5:00:00 PM') 
                                  then dateadd(day, 1, [Date Received])
                                  else [Date Received] 
                             end)
              end
    end as [Adjusted Date Excluding holidays and weekends]

То, что происходит здесь, это если 2 дня подряд (четверг и пятница), скорректированная дата будет суббота, которая все еще не действительна, потому что это выходные.

Скорректированная дата является псевдонимом здесь

Мне действительно нужна твоя помощь. Спасибо

Ответы на вопрос(4)

Ваш ответ на вопрос