[ 
https://issues.apache.org/jira/browse/CALCITE-1639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15972031#comment-15972031
 ] 

hongbin ma commented on CALCITE-1639:
-------------------------------------

Thanks for the clear explanation! Sorry I should have googled first, I thought 
it has something to do with "Julian Hyde" at first sight...

> timestampadd month should return result month's last day when day part 
> overflow
> -------------------------------------------------------------------------------
>
>                 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)

Reply via email to