转移计时计算问题

时间:2011-04-07 07:31:31

标签: php mysql weblogic logic

我正在尝试根据当前时间进行换班。我有一个轮班大师,有开始时间到结束时间。换班时间如下。

A - 06:00  --  14:00
B - 14:00  --  22:00
C - 22:00  --  06:00

我将根据当前时间获得前两班。但我没有得到第三班。 例如如果当前时间是01.30那么我应该得到“C”为

2 个答案:

答案 0 :(得分:1)

您可以为“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
    )

答案 1 :(得分:1)

您需要处理换行到第二天的班次,例如

where
curtime() >= starttime and
curtime() <  if(endtime>starttime,endtime,adddate(endtime,interval 1 day))