2017-10-12 72 views
1

我的項目即將獲得學校的當前班級,我使用包含START_TIME(例如:16:00)和END_TIME(例如:18:00)列的表CLASSES創建了數據庫。我有變量'小時',將從系統中獲取當前時間。我的問題是:什麼是查詢數據庫以獲取當前類的最佳方式,例如(SELECT * FROM CLASSES WHERE START_TIME ='hour');通過獲取當前時間的SQL查詢

如果當前時間與開始時間相同,那麼這對我有效,但如果當前時間介於START_TIME和END_TIME之間,該怎麼辦?例如課程是從(16:00到19:00)和當前時間是15:00?如何解決?

回答

0

這裏究竟解決我的問題,只顯示我想要的(不是之前或結果BETWEEN操作做後)結果:

SELECT * FROM CLASSES WHERE 'currentTime' >= START_TIME AND 'currentTime' < END_TIME 
0

您可以使用between像這樣:

SELECT * 
FROM CLASSES 
WHERE currentTime BETWEEN START_TIME AND END_TIME; 

另一種選擇是使用>=<=運營商。

+0

第二個選項正是我需要的東西,它僅顯示(當前類),因爲我想: SELECT * 從階層 其中「currentTime的」> = START_TIME AND「currentTime的」

0

這是怎麼回事?

SELECT * FROM CLASSES WHERE 'hour' BETWEEN START_TIME AND END_TIME 

但它取決於如何在數據庫中存儲開始和結束時間。作爲數值(例如16,18)?那麼小時價值呢?它也是數值嗎? 在所有3個值都是數字,上面的查詢將工作。 如果它們以某種不同的格式存儲,則應該調整答案。

+0

BETWEEN操作的作品,但它給了我有時,是經過或當前的類,因爲BETWEEN包括START_TIME和前班END_TIME,> =和<運營商解決了確切的問題。 –