Oracle ADD_MONTHS() 函数使用指南
Oracle ADD_MONTHS()
是一个内置函数,它用于在给定的日期上增加或减少指定数量的月份。
Oracle ADD_MONTHS()
语法
这里是 Oracle ADD_MONTHS()
函数的语法:
ADD_MONTHS(date, months)
参数
date
-
必需的。需要被修改的日期。 它可以是日期时间值或可以隐式转换为
DATE
的任何值。 months
-
必需的。 要添加的月份数。如果
months
是正数,则表示增加月份;如果months
是负数,则表示减少月份。
返回值
Oracle ADD_MONTHS()
函数返回一个新的日期,它是在给定日期上增加或者减少指定数量的月份。
如果任意一个参数为 NULL
, ADD_MONTHS()
将返回 NULL
。
Oracle ADD_MONTHS()
示例
这里有几个展示了 Oracle ADD_MONTHS()
函数用法的示例。
基本用法
要将日期 2023-02-11
向后推 5 个月,请使用如下语句:
ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD';
SELECT
ADD_MONTHS('2023-02-11', 5)
FROM DUAL;
输出:
ADD_MONTHS('2023-02-11',5)
_____________________________
2023-07-11
这里,我们使用 ALTER SESSION
语句修改当前会话的日期显式格式为 YYYY-MM-DD
。
负数月份
如果您提供了一个负数月份, Oracle ADD_MONTHS()
函数将减少给定的月份。
SELECT
ADD_MONTHS('2023-02-11', -5)
FROM dual;
输出:
ADD_MONTHS('2023-02-11',-5)
______________________________
2022-09-11
当前日期
如果您需要从当前日期加上或减去月份,是使用 CURRENT_DATE
。
SELECT
CURRENT_DATE,
ADD_MONTHS(CURRENT_DATE, 5) "+5 months",
ADD_MONTHS(CURRENT_DATE, -5) "-5 months"
FROM dual;
输出:
CURRENT_DATE +5 months -5 months
_______________ _____________ _____________
2023-02-11 2023-07-11 2022-09-11
NULL 参数
如果任意一个参数为 NULL
, ADD_MONTHS()
将返回 NULL
。
SET NULL 'NULL';
SELECT
ADD_MONTHS(NULL, 5) NULL_1,
ADD_MONTHS('2022-09-11', NULL) NULL_2,
ADD_MONTHS(NULL, NULL) NULL_3
FROM dual;
输出:
NULL_1 NULL_2 NULL_3
_________ _________ _________
NULL NULL NULL
在本示例中,我们使用 SET NULL 'NULL';
语句将 NULL
值显示为 'NULL'
字符串。
结论
Oracle ADD_MONTHS()
是一个内置函数,它用于在给定的日期上增加或减少指定数量的月份。