oracle 获取上一个月第一天和上一个月最后一天(第n个月都可以)

第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

发布了31 篇原创文章 · 获赞 1 · 访问量 1829

猜你喜欢

转载自blog.csdn.net/liangdingguo/article/details/104491891