第n个月参考我上一个连接 把下面的-1 改成2或者-2 往前往后减少,添加2个月
https://blog.csdn.net/liangdingguo/article/details/104491210
当前 日期2020-2-25
获取上一个月第一天
字符串型
SELECT TTO_CHAR(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1),'yyyy-mm-dd')FROM dual; 输出 2020-1-1
date 型
SELECT TO_DATE(TO_CHAR(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1),'yyyy-mm-dd'),'yyyy-mm-dd') FROM dual; 输出:01-01-2
获取上一个月最后一天
字符串型
SELECT TO_DATE(TO_CHAR(last_day(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1)),'yyyy-mm-dd'),'yyyy-mm-dd') FROM dual; 输出 2020-1-31
date 型
SELECT TO_DATE(TO_CHAR(last_day(ADD_MONTHS(trunc(TO_DATE(TO_CHAR(TRUNC(SYSDATE, 'mm'), 'yyyy-mm-dd'),'yyyy-mm-dd')),-1)),'yyyy-mm-dd'),'yyyy-mm-dd') FROM dual; 输出 31-01-20