Пример
Я хочу рассчитать рабочее время с 09:00:00 до 18:00: 00
09:00:00 - Normal_Intime
18:00:00 - Normal_Outtime
Пусть
1) Intime is 10:00:00, Outtime is 17:00:00 It should give the output as 07:00:00
2) Intime is 08:00:00. Outtime is 19:00:00 It should give the output as 09:00:00
выше вывода должны сравниваться с Normal_Intime, Normal_Outtime.
Означает, что Normal_Intime - только 09:00:00, а Normal_Output - только 18:00:00, поэтому Intime не должен> 09:00:00 и Outtime <18:00:00. </p>
Запрос
select Intime, Outtime, CONVERT(char(8), CASE WHEN OutTime > Normal_Outtime THEN cast(Normal_Outtime AS datetime) ELSE cast(OutTime AS datetime) END - CASE WHEN InTime > Normal_Intime THEN cast(InTime AS datetime) ELSE cast(Normal_Intime AS datetime) END, 8) AS WorkTime from table
выход
Intime Outtime Worktime
15:37:48 22:08:15 02:22:12
07:33:34 07:59:13 22:59:13
Второй ряд дает неправильный вывод. Он должен давать только 00:25:39
.
Если время входа и выхода меньше, чем NormalInTime, а время входа и выхода больше, чем NormalOutTime. Как сделать для этого условие
Как сделать запрос для этого условия.
Нужна помощь по запросу.