SSMS 2017
Я пытаюсь рассчитать время обработки между загрузкой файла и датой завершения файла, не включая время после работы или в выходные дни
Я пытаюсь сделать это сзаявление о ситуации.
case
when datepart(dw,d.sduploadeddate) in (2, 3, 4, 5) and datepart(hh,d.sduploadeddate) > 16 then d.sduploadeddate+1
when datepart(dw,d.sduploadeddate) in (6) and datepart(hh,d.sduploadeddate) > 17 then d.sduploadeddate+3
when datepart(dw,d.sduploadeddate) in (7) then d.sduploadeddate+2
when datepart(dw,d.sduploadeddate) in (8) then d.sduploadeddate+1
else d.sduploadeddate
end [Uploadeddatetime2]
Приведенный выше код работает без ошибок, но, очевидно, он не решает проблему - он просто немного сокращает время выполнения.Я просто возился с методом, чтобы получить чуть более точное время выполнения заказа.
Рабочее время: 8 -> 1700, понедельник - пятница.
В идеале я хотел бы сказать, что если это время даты превышает 1700, то дата + 1 и часы =800 (таким образом, четверг в 1850 году, измените его на пятницу в 800).Точно так же в пятницу (или любой будний день) до времени 800 настройте 800 на тот же день.
Для пятницы и выходных это то же самое, но дата +1,2 или 3 в зависимости от дня и его установки.за 800 в понедельник