ADD_MONTHS 函数 - Amazon Redshift
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

ADD_MONTHS 函数

ADD_MONTHS 会将指定的月数添加到日期或时间戳值或表达式中。DATEADD 函数提供了类似的功能。

Syntax

ADD_MONTHS( {date | timestamp}, integer)

Arguments

date | timestamp

日期或时间戳列,或隐式转换为日期或时间戳的表达式。如果日期是该月的最后一天,或者如果产生的月份较短,则函数在结果中返回该月的最后一天。对于其他日期,结果包含与日期表达式相同的日期编号。

integer

正整数或负整数。使用负数从日期中减去月份。

返回类型

TIMESTAMP

Example

以下查询使用 TRUNC 函数内的 ADD_MONTHS 函数。TRUNC 函数从 ADD_MONTHS 的结果中删除一天中的时间。ADD_MONTHS 函数会为 CALDATE 列中的每个值添加 12 个月。

select distinct trunc(add_months(caldate, 12)) as calplus12, trunc(caldate) as cal from date order by 1 asc; calplus12 | cal ------------+------------ 2009-01-01 | 2008-01-01 2009-01-02 | 2008-01-02 2009-01-03 | 2008-01-03 ... (365 rows)

以下示例演示 ADD_MONTHS 函数在具有不同天数的月份的日期上运行时的行为。

select add_months('2008-03-31',1); add_months --------------------- 2008-04-30 00:00:00 (1 row) select add_months('2008-04-30',1); add_months --------------------- 2008-05-31 00:00:00 (1 row)