Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
in calcite,
select timestampadd(MONTH,1,cast('2016-05-31' as timestamp)) will return 2016-07-01 00:00:00, and select timestampadd(MONTH,-1,cast('2016-03-31' as timestamp)) will return 2016-03-01 00:00:00
however in mysql, the last day of the next/previous month is always returned:
mysql> select timestampadd(MONTH,1,'2016-05-31') ; +------------------------------------+ | timestampadd(MONTH,1,'2016-05-31') | +------------------------------------+ | 2016-06-30 | +------------------------------------+ 1 row in set (0.00 sec) mysql> select timestampadd(MONTH,-1,'2016-03-31') ; +-------------------------------------+ | timestampadd(MONTH,-1,'2016-03-31') | +-------------------------------------+ | 2016-02-29 | +-------------------------------------+ 1 row in set (0.00 sec) mysql>