§ Oracle兼容-函数-ADD_MONTHS()函数


§ 1. 语法

ADD_MONTHS(date, n)
1

§ 2. 定义和用法

ADD_MONTHS() 函数的作用是对日期函数进行操作,在数据查询的过程中进行日期的按月增加, ADD_MONTH()的返回类型为 DATETIME

§ 3. Oracle兼容说明

在GreatSQL中 ADD_MONTHS(date, n) 函数的参数输入格式检查、输出结果等行为与Oracle存在一定程度差异,二者差异描述如下表:

说明 示例 Oracle返回值 GreatSQL返回值
对日期格式的支持范围不同 ADD_MONTHS('03-MAR-97', 1); 03-APR-97 返回NULL,并提示Warning:Incorrect datetime value: '03-MAR-97'
计算后的日期超过系统支持的范围时,处理方式不同 ADD_MONTHS('2022-02-28', 95746) 报ORA-01841错误 返回NULL, 并提示 Warning:datetime field overflow

§ 4. 示例

greatsql> SELECT NOW(), ADD_MONTHS(SYSDATE(), -2), ADD_MONTHS(SYSDATE(), +2);
+---------------------+---------------------------+---------------------------+
| NOW()               | ADD_MONTHS(SYSDATE(), -2) | ADD_MONTHS(SYSDATE(), +2) |
+---------------------+---------------------------+---------------------------+
| 2023-05-18 09:06:38 | 2023-03-18 09:06:38       | 2023-07-18 09:06:38       |
+---------------------+---------------------------+---------------------------+
1
2
3
4
5
6

greatsql-wx