2011-07-29 113 views
3

這讓我有點偏執,但是我找回了一段時間內的記錄,比如從2011年1月1日(從午夜開始)到遊行31,2011(所有記錄多達11:59:59 PM)SQL中的正確日期範圍

我使用的條件

 
t.logtime between to_date('2011-01-01', 'yyyy-mm-dd') and to_date('2011-03-31') 

注意logTime Description該條是時間字段。

這是否反映我想要的?還是我實際上缺少24小時的時間? 我可以指定時間,但我希望我可以在沒有它的情況下完成。

回答

3

是的,你幾乎錯過了最後一天。有各種解決方案; probablt最簡單的就是:

t.logtime >= to_date('2011-01-01', 'yyyy-mm-dd') 
and t.logtime < to_date('2011-04-01', 'yyyy-mm-dd') 

我會使用ANSI日期文字語法太:

t.logtime >= date '2011-01-01' 
and t.logtime < date '2011-04-01' 

另一種方法是:

trunc(t.logtime) between date '2011-01-01' and date '2011-03-31' 

但要注意的是,可以不再使用日誌時間索引(雖然它可以在trunc(logtime)上使用索引)。

+0

謝謝,不平等沒有想到。 – MxyL