Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

MONTHS_BETWEEN 函数

MONTHS_BETWEEN 确定两个日期之间相隔的月数。

如果第一个日期晚于第二个日期,结果为正值;否则,结果为负值。

如果任一参数为空,则结果为 NULL。

语法

Copy
MONTHS_BETWEEN ( date1, date2 )

参数

date1

一个表达式(如列名称),其计算结果为有效的日期或时间戳值。

date2

一个表达式(如列名称),其计算结果为有效的日期或时间戳值。

返回类型

FLOAT8

结果的整数部分基于日期的年值和月值之差。结果的小数部分从日期的天和时间戳值计算得来,并且假定了一个有 31 天的月。

如果 date1date2 都包含一个月中的相同日期(例如,1/15/14 和 2/15/14)或一个月的最后一天(例如,8/31/14 和 9/30/14),则结果是基于日期的年值和月值的整数,无论时间戳部分(如果有)是否匹配。

示例

以下示例返回 1/18/1969 和 3/18/1969 之间的月:

Copy
select months_between('1969-01-18', '1969-03-18') as months; months ---------- -2

下面的示例返回事件第一次和最后一次出现之间的月数:

Copy
select eventname, min(starttime) as first_show, max(starttime) as last_show, months_between(max(starttime),min(starttime)) as month_diff from event group by eventname order by eventname limit 5; eventname first_show last_show month_diff --------------------------------------------------------------------------- .38 Special 2008-01-21 19:30:00.0 2008-12-25 15:00:00.0 11.12 3 Doors Down 2008-01-03 15:00:00.0 2008-12-01 19:30:00.0 10.94 70s Soul Jam 2008-01-16 19:30:00.0 2008-12-07 14:00:00.0 10.7 A Bronx Tale 2008-01-21 19:00:00.0 2008-12-15 15:00:00.0 10.8 A Catered Affair 2008-01-08 19:30:00.0 2008-12-19 19:00:00.0 11.35

本页内容: