[ 
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)

Reply via email to