我想獲取超過30天(從Mod_date)的Oracle sql中的記錄,並且我正在使用下面的查詢,它將返回所有數據,而我只需要30天的舊數據。請你誰能幫助我改正這個查詢樣品: - Mod_date 03-NOV-12 12.00.00.000000000 AM查詢: -試圖獲取超過30天在oracle中的記錄sql
select Mod_date
from fil_cnfact
where Mod_date <= sysdate -30
order by Mod_date asc ;
我想獲取超過30天(從Mod_date)的Oracle sql中的記錄,並且我正在使用下面的查詢,它將返回所有數據,而我只需要30天的舊數據。請你誰能幫助我改正這個查詢樣品: - Mod_date 03-NOV-12 12.00.00.000000000 AM查詢: -試圖獲取超過30天在oracle中的記錄sql
select Mod_date
from fil_cnfact
where Mod_date <= sysdate -30
order by Mod_date asc ;
您的查詢要求小於或等於從30天后的所有記錄。僅將您的運營商更改爲=
才能請求30天前的記錄。
select Mod_date
from fil_cnfact
where trunc(Mod_date) = trunc(sysdate)-30
order by Mod_date asc ;
如果您希望所有Mod_date大於30天,您的查詢是正確的。但需要考慮的幾件事情1. sysdate是日期+時間(如果你確實是指日期,則截取它); 2.你確定你是真的意味着30天,而不是一個月前(記住,幾個月不一定是30天)? – 2013-03-08 20:15:25