#php #mysql #weblogic #logic
#php #mysql #weblogic #Логические
Вопрос:
Я пытаюсь получить сдвиг на основе текущего времени. у меня есть мастер смены, у которого есть время от начала до конца. Время сдвига выглядит следующим образом.
A - 06:00 -- 14:00
B - 14:00 -- 22:00
C - 22:00 -- 06:00
я получу первые две смены на основе текущего времени. Но я не получаю третью смену.
например, если текущее время равно 01.30, то я должен получить «C» как out
Комментарии:
1. Вы забыли добавить некоторый SQL, который показывает вашу текущую попытку.
Ответ №1:
Вам необходимо обрабатывать смены, которые переносятся на следующий день, например
where
curtime() >= starttime and
curtime() < if(endtime>starttime,endtime,adddate(endtime,interval 1 day))
Ответ №2:
Вы можете добавить другую запись для «C», например:
C - 22:00 -- 24:00
C - 00:00 -- 06:00
Также может создать несколько сложный SQL:
SELECT shift
FROM table
WHERE end > '1:30'
AND (
start <= '1:30'
OR
start > end
)