PERIOD_ADD
功能描述
PERIOD_ADD函数用于在指定年月(格式为YYYYMM或YYMM)上加上指定的月数,将结果作为年月返回(格式为YYYYMM)。
注意事项
- 该功能仅在数据库兼容模式为MySQL时支持(即数据库实例初始化时指定DBCOMPATIBILITY='B')。
- 当任一参数为NULL时,函数返回NULL。
- P = 0时,返回0。
- 参数的时期P与返回结果的时期中的年份小于100时,会以70为边界,将年份转为20XX年或19XX年。
- 若入参为小数格式的字符串时,本函数会按照四舍五入进位转为整数后进行处理,而在MySQL中,会将参数的小数部分舍去。例如:
period_add('202101.4', '10.5')
在Vastbase中结果与period_add(202101, 11)
相同,而在MySQL中,则视为period_add(202101, 10)
。
语法格式
PERIOD_ADD(int8 P, int8 N)
参数说明
P
给定日期时间,使用 YYYYMM 或 YYMM 格式。
N
需要加到P上的月数。
示例
SELECT PERIOD_ADD(202201, 2);
SELECT PERIOD_ADD(0, 2); -- p = 0
SELECT PERIOD_ADD(0101, 2), PERIOD_ADD(7001, 2); -- 时期的年份处于[0,70) 或 [70, 100)范围内
返回结果为:
period_add
------------
202203
(1 row)
period_add
------------
0
(1 row)
period_add | period_add
------------+------------
200103 | 197003
(1 row)