select to_date(trunc(add_months(sysdate,-1),'mm'))firstday,to_date(last_day(add_months(sysdate,-1)))last_day,
( trunc(sysdate, 'mm'))-(1/(24*60*60)) AS lastday1
from dual;
select to_char(last_day(add_months(sysdate,-1)),'yyyy-MM-dd')||' 23:59:59' last_day from dual
select last_day(trunc(sysdate))+1-(1/(60*60*24)) last_day from dual;
last_day(trunc(sysdate))一个月的最后一天(年月日格式)
+1就变成了下个月的第一天
-(1/(60*60*24))就是减去一秒钟