手頭沒有 Oracle 數據庫 不夠下面的方式是可以處理的: 首先 sysdate 是取得今天的日期 ADD_MONTHS(sysdate,1) 是取得下個月的今天。 TRUNC( ADD_MONTHS(sysdate,1) , 'MM' ) 是取得下個月的1號。 (時分秒部分都是 0) TRUNC( ADD_MONTHS(sysdate,1) , 'MM' ) - 1 意味着把下個月的第1天 - 1天, 結果是 本月的最後一天,時間是 00:00:00 假如你現在 2011年4月20日 執行 SELECT TRUNC( ADD_MONTHS(sysdate,1) , 'MM' ) - 1 FROM dual 預期的結果應該是: 2011-04-30 00:00:00
項目中用到的如下:
查詢本月新增的白名單。
select * from t_account_white t where t.create_time between trunc(sysdate,'month') and TRUNC( ADD_MONTHS(sysdate,1) , 'MM' )