[ https://issues.apache.org/jira/browse/CALCITE-1639?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Hyde updated CALCITE-1639: --------------------------------- Summary: TIMESTAMPADD(MONTH, ...) should return last day of month if the day overflows (was: timestampadd month should return result month's last day when day part overflow) > TIMESTAMPADD(MONTH, ...) should return last day of month if the day overflows > ----------------------------------------------------------------------------- > > Key: CALCITE-1639 > URL: https://issues.apache.org/jira/browse/CALCITE-1639 > Project: Calcite > Issue Type: Bug > Reporter: hongbin ma > Assignee: Julian Hyde > Attachments: > 0001-CALCITE-1639-deal-with-day-overflow-in-addmonth-with.patch > > > 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: > {noformat} > 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> > {noformat} -- This message was sent by Atlassian JIRA (v6.3.15#6346)