2010-01-19 240 views
1

在我的表中,我有兩個字段:start_date和end_date。我只是試圖檢索當前日期在開始日期和結束日期之間的行。出於某種原因,我是而不是得到這個。我嘗試過使用之間,但我仍然得到空集,即使我知道有記錄存在......我不認爲我在清楚地考慮這些......任何人都知道如何做到這一點?Mysql日期查詢來查找當前是否在兩個日期之內?

+1

你能否發表一些應該返回的記錄,但他們不是? – Quassnoi 2010-01-19 15:45:47

回答

3
SELECT * 
FROM mytable 
WHERE SYSDATE() BETWEEN start_date AND end_date 

確保您start_dateend_dateDATEDATETIME,不VARCHAR

0

這裏的另一種方式做到這一點,而不使用BETWEEN:

WHERE @date >= start_date AND @date <= end_date 

這應該是等價的,但。

另外請注意,您真的要經常的是一個半開區間:

WHERE @date >= start_date AND @date < end_date 

如果您分頁,使用半開區間可避免在一個頁面在年底重複值下一個的開始。你不能用BETWEEN語法表達這一點。

相關問題