Oracle 获取上个月最后三天的时间

Oracle 如何获取当前时间的上个月最后三天的日期以yyyy-MM-dd的格式

以下sql已在Oracle 12c环境运行通过。

select to_char(last_day(add_months(sysdate, -1)) - 2, 'yyyy-MM-dd') 倒数第三天,
       to_char(last_day(add_months(sysdate, -1)) - 1, 'yyyy-MM-dd') 倒数第二天,
       to_char(last_day(add_months(sysdate, -1)), 'yyyy-MM-dd') 最后一天
  from dual;

更多问题可以关注我,或加我QQ/VX:316187205
O(∩_∩)O~

select to_char('yyyy-MM-dd',last_day(add_months(sysdate,-1)),-1),to_char('yyyy-MM-dd',last_day(add_months(sysdate,-1)),-1),to_char('yyyy-MM-dd',last_day(add_months(sysdate,-1))) from dual;

随手写的,你可以将其在oracle中运行试一下。

好久没用oracle了

不过我用mysql写了一套你这个需求- -
select last_day(DATE_FORMAT(DATE_SUB(SYSDATE(),INTERVAL 1 month),'%Y-%m-%d ')) as lastoneday,DATE_SUB(last_day(DATE_FORMAT(DATE_SUB(SYSDATE(),INTERVAL 1 month),'%Y-%m-%d ')),INTERVAL 1 day) as lasttwoday,DATE_SUB(last_day(DATE_FORMAT(DATE_SUB(SYSDATE(),INTERVAL 1 month),'%Y-%m-%d ')),INTERVAL 2 day) as lastthreeday from dual;

trunc(sysdate,'mm')-1,trunc(sysdate,'mm')-2,trunc(sysdate,'mm')-3就行了,to_char自己加。
真不知道那些远古写复杂教程的作者,现在回头看自己写的还有那么多人在死记硬背是什么心态。。。