oracle的LAST_DAY()函数

LAST_DAY


LAST_DAY函数返回指定日期对应月份的最后一天。

获取当前日期的最后一天

SQL> SELECT last_day(SYSDATE) FROM dual;

运行结果:

LAST_DAY(SYSDATE)
-----------------
2016/12/31 15:39:


获取当前日期和当前日期所在月的最后一天

SQL> SELECT SYSDATE,
          LAST_DAY(SYSDATE) "Last",
         LAST_DAY(SYSDATE) - SYSDATE "Days Left"
      FROM DUAL;

运行结果:

SYSDATE        Last                     Days Left
-----------          -----------                   ----------
2016/12/18    2016/12/31             13


获取当前日期所在月的第一天和最后一天:

SQL> SELECT TRUNC(SYSDATE, 'MONTH') FIRSTDAY,
           LAST_DAY(TRUNC(SYSDATE, 'MONTH')) LASTDAY
        FROM DUAL;

运行结果:

FIRSTDAY    LASTDAY
-----------          -----------
2016/12/1     2016/12/31



其实这些日期函数我们通常都是用来嵌套使用的,例如下面这个实例:

求当前日期的上个月月初和上个月月末日期

SELECT
    TRUNC(add_months(SYSDATE,-1),'mm') AS first_day
   ,last_day(add_months(SYSDATE,-1)) AS last_day
FROM dual;

运行结果:

FIRST_DAY   LAST_DAY
-----------         -----------
2016/11/1     2016/11/30



你可能感兴趣的:(oracle)