使Redshift的DATEDIFF表现为MySQL的TIMESTAMPDIFF

时间:2016-03-02 03:25:58

标签: mysql database amazon-redshift

MYSQL中,TIMESTAMPDIFF(MONTH, '2016-01-31', '2016-02-01')会返回0

Redshift中,DATEDIFF(MONTH, '2016-01-31', '2016-02-01')会返回1

如何让DATEDIFF(MONTH, '2016-01-31', '2016-02-01')中的Redshift返回0

目前我正在使用DATEDIFF(DAY, '2016-01-31', '2016-02-01')/30。但这还不够好,因为有些月份有28-31天。

1 个答案:

答案 0 :(得分:2)

MONTHS_BETWEEN是解决此问题的好方法。

示例:

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

您可以在红移documentation中详细了解此信息。