我想根據當前時間換班。我有一個班長,有開始時間結束時間。換檔時間如下。移位時間計算問題
A - 06:00 -- 14:00
B - 14:00 -- 22:00
C - 22:00 -- 06:00
我會根據當前時間獲得前兩個班次。但我沒有得到第三個轉變。 例如如果當前時間是01.30的話,我應該得到「C」作爲出
我想根據當前時間換班。我有一個班長,有開始時間結束時間。換檔時間如下。移位時間計算問題
A - 06:00 -- 14:00
B - 14:00 -- 22:00
C - 22:00 -- 06:00
我會根據當前時間獲得前兩個班次。但我沒有得到第三個轉變。 例如如果當前時間是01.30的話,我應該得到「C」作爲出
您可以添加另一條記錄爲「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有趣的邏輯 – RichardTheKiwi 2011-04-07 07:56:17
你需要處理換班,換到第二天,例如
where
curtime() >= starttime and
curtime() < if(endtime>starttime,endtime,adddate(endtime,interval 1 day))
您忘了添加一些顯示您當前嘗試的SQL。 – Tomalak 2011-04-07 07:35:19