2011-08-16 41 views
0

我有兩列類型的時間,24小時。他們定義了什麼時候有人可用的範圍。例如:MySQL時間字段,檢查邊界/包含

10:00:00 14:30:00 

是否有一種簡單的方法來執行查詢,詢問當前時間是否在這兩列之間?道歉,如果這是基本的,無法找到一個簡單的方法來做到這一點,而瀏覽MySQL時間/日期功能

回答

1

嘗試這樣的事情。我必須測試它是確定的。

SELECT * FROM `available_table` WHERE (TIME(NOW()) > `begin_time` AND TIME(NOW()) < `end_time`) 
1

其他建議將工作,但我建議使用BETWEEN關鍵字是用於這個東西。

WHERE DateTime BETWEEN TIME(Start_Time) AND TIME(End_Time) 

這將使該範圍內的一切。

Documentation for BETWEEN

+0

儘管「BETWEEN」的邊界是變量。 – Vache

+0

已更新,以反映 – babonk

+1

良好的通話。當你考慮午夜時,這應該比我的回答更好。但是,如果他只是比較時間(和他的列是TIME類型),不應該在TIME()中包裝日期表達式嗎? –