ADD_MONTHS 函数返回在日期 date 基础上 n 个月后的日期值,如果 n 的值为负数则返回日期 date 基础上 n 个月前的日期值(date 减去 n 个月)。

注意

由于每个月的天数不同,当 date 是一个月中的最后一天时,函数返回计算后该月的最后一天。例如,用ADD_MONTHS 计算 2020 年 3 月 31 日一个月前的日期,返回 2020 年 2 月 29 日。

语法

  1. ADD_MONTHS (date,n)

参数

参数

说明

date

DATE 数据类型。

n

NUMBER 数据类型。

返回类型

DATE 数据类型。

示例

示例 1: 以下示例查询了 3 个月后的日期。

执行以下语句:

  1. SELECT SYSDATE, ADD_MONTHS(SYSDATE,3) FROM DUAL;

查询结果如下:

  1. +---------------------+-----------------------+
  2. | SYSDATE | ADD_MONTHS(SYSDATE,3) |
  3. +---------------------+-----------------------+
  4. | 2020-03-26 12:21:40 | 2020-06-26 12:21:40 |
  5. +---------------------+-----------------------+

示例 2: 以下示例查询了 3 个月前的日期。

执行以下语句:

  1. SELECT SYSDATE, ADD_MONTHS(SYSDATE,-3) FROM DUAL;

查询结果如下:

  1. +---------------------+------------------------+
  2. | SYSDATE | ADD_MONTHS(SYSDATE,-3) |
  3. +---------------------+------------------------+
  4. | 2020-03-26 12:21:04 | 2019-12-26 12:21:04 |
  5. +---------------------+------------------------+