oracle本月、上月、去年同月第一天最后一天

oracle本月、上月、去年同月第一天最后一天

SELECT TRUNC (SYSDATE, 'month') 本月第一天,
       TRUNC (LAST_DAY (SYSDATE)) 本月最后一天,
       TRUNC (ADD_MONTHS (SYSDATE, -1), 'month') 上月第一天,
       TRUNC (LAST_DAY (ADD_MONTHS (SYSDATE, -1))) 上月最后一天,
       TRUNC (ADD_MONTHS (SYSDATE, -12), 'month') 去年本月第一天,
       TRUNC (LAST_DAY (ADD_MONTHS (SYSDATE, -12))) 去年本月最后一天
  FROM DUAL;

方法一、

1 SELECT TO_CHAR (TRUNC (ADD_MONTHS (LAST_DAY (SYSDATE), -1) + 1),
2                 'yyyy-mm-dd')
3           "本月第一天",
4        TO_CHAR (LAST_DAY (SYSDATE), 'yyyy-mm-dd') "本月最后一天"
5   FROM DUAL

方法二、

1 SELECT TRUNC (SYSDATE, 'MONTH') 本月第一天,
2        TO_DATE (TO_CHAR (LAST_DAY (SYSDATE), 'YYYY-MM-DD'), 'YYYY-MM-DD')
3           本月最后一天
4   FROM DUAL;

方法三、

1 SELECT TRUNC (SYSDATE, 'MONTH') 本月第一天,
2        TO_CHAR (LAST_DAY (SYSDATE), 'YYYY-MM-DD') 本月最后一天
3   FROM DUAL;
原文地址:https://www.cnblogs.com/kingxiaozi/p/3596681.html