Расчет даты и времени вокруг выходных и вечеров - PullRequest
0 голосов
/ 19 июня 2019

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 в понедельник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...