我希望有人能幫助我解決這個問題。Oracle SQL在日期內返回所有記錄
以下SQL僅返回給定表中的記錄,這些記錄特別是距離當前20天的記錄。
Last_Mod_Date = TO_DATE(SYSDATE - 20)
用類似的理論可以有人幫助我確定如何將過去20天範圍內返回的所有記錄?
謝謝!
我希望有人能幫助我解決這個問題。Oracle SQL在日期內返回所有記錄
以下SQL僅返回給定表中的記錄,這些記錄特別是距離當前20天的記錄。
Last_Mod_Date = TO_DATE(SYSDATE - 20)
用類似的理論可以有人幫助我確定如何將過去20天範圍內返回的所有記錄?
謝謝!
select
*
from
table
where
Last_Mod_Date >= trunc(sysdate-20);
SELECT *
FROM MY_TABLE
WHERE TO_DATE(my_ts_field) BETWEEN TO_DATE(SYSDATE-20) AND TO_DATE(SYSDATE)
改變比較以大於或 - 等於:
Last_Mod_Date >= TO_DATE(SYSDATE-20)
to_date(sysdate)???? –
嗯,好點。我只是從原來的問題中複製它,但當然TO_DATE是沒有必要的。雖然也許它正在有效地執行TRUNC,但刪除它可能會稍微改變結果。 –
Last_Mod_Date> TO_DATE(SYSDATE - 20)? – toolkit
在你的例子中** Last_Mod_date = TO_DATE(SYSDATE - 20)**不太可能匹配任何東西,因爲它說「從現在起整整20天」(到毫秒)一個更弱的表單可能更接近你想要的* *「TRUNC(Last_Mod_date)= TRUNC(TO_DATE(SYSDATE - 20))」** –