2011-09-29 89 views
0

我希望有人能幫助我解決這個問題。Oracle SQL在日期內返回所有記錄

以下SQL僅返回給定表中的記錄,這些記錄特別是距離當前20天的記錄。

Last_Mod_Date = TO_DATE(SYSDATE - 20)

用類似的理論可以有人幫助我確定如何將過去20天範圍內返回的所有記錄?

謝謝!

+1

Last_Mod_Date> TO_DATE(SYSDATE - 20)? – toolkit

+2

在你的例子中** Last_Mod_date = TO_DATE(SYSDATE - 20)**不太可能匹配任何東西,因爲它說「從現在起整整20天」(到毫秒)一個更弱的表單可能更接近你想要的* *「TRUNC(Last_Mod_date)= TRUNC(TO_DATE(SYSDATE - 20))」** –

回答

2
select 
    * 
from 
    table 
where 
    Last_Mod_Date >= trunc(sysdate-20); 
1
SELECT * 
FROM MY_TABLE 
WHERE TO_DATE(my_ts_field) BETWEEN TO_DATE(SYSDATE-20) AND TO_DATE(SYSDATE) 
1

改變比較以大於或 - 等於:

Last_Mod_Date >= TO_DATE(SYSDATE-20) 
+0

to_date(sysdate)???? –

+0

嗯,好點。我只是從原來的問題中複製它,但當然TO_DATE是沒有必要的。雖然也許它正在有效地執行TRUNC,但刪除它可能會稍微改變結果。 –

相關問題