[ 
https://issues.apache.org/jira/browse/FLINK-6811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

sunjincheng updated FLINK-6811:
-------------------------------
    Description: 
TIMESTAMPADD(unit,interval,datetime_expr) Adds the integer expression interval 
to the date or datetime expression datetime_expr. The unit for interval is 
given by the unit argument, which should be one of the following values: 
MICROSECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, QUARTER, or 
YEAR.

* Syntax:
TIMESTAMPADD(unit,interval,datetime_expr)

* Arguments
**unit: -
**interval: -
**datetime_expr: -

* Return Types
  DATAETIME/DATE/TIME

* Example:
  SELECT TIMESTAMPADD(month, 1, '2017-05-31') --> '2017-06-30 00:00:00.000'
  SELECT TIMESTAMPADD(WEEK,1,'2003-01-02') -> '2003-01-09'

* See more:
** [MySQL| 
https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_timestampadd]

Note: Due to the difference of [[org.apache.calcite.rex.Rex Literal]] between 
calcite 1.12 and calcite master we should temp close support the construce of 
{{TIMESTAMPADD(SqlTypeFamily.ANY, SqlTypeFamily.INTEGER, SqlTypeFamily.DATE)}}, 
until upgrade to calcite 1.13.
See more: 
https://issues.apache.org/jira/browse/CALCITE-1639
https://issues.apache.org/jira/browse/FLINK-6851

See more: 
[https://issues.apache.org/jira/browse/CALCITE-1827|https://issues.apache.org/jira/browse/CALCITE-1827]

  was:
* Syntax
timestampAdd (datepart SqlTypeFamily.ANY, number:SqlTypeFamily.INTEGER, 
date:SqlTypeFamily.TIMESTAMP )  
-datepart
Is the part of date to which an integer number is added. 
-number
Is an expression that can be resolved to an int that is added to a datepart of 
date
-date
Is an expression that can be resolved to a time.

* Example
SELECT timestampAdd(month, 1, '2017-05-31')  from tab; --> 2017-06-30 
00:00:00.000

Note: Due to the difference of [[org.apache.calcite.rex.Rex Literal]] between 
calcite 1.12 and calcite master we should temp close support the construce of 
{{TIMESTAMPADD(SqlTypeFamily.ANY, SqlTypeFamily.INTEGER, SqlTypeFamily.DATE)}}, 
until upgrade to calcite 1.13.
See more: 
https://issues.apache.org/jira/browse/CALCITE-1639
https://issues.apache.org/jira/browse/FLINK-6851

See more: 
[https://issues.apache.org/jira/browse/CALCITE-1827|https://issues.apache.org/jira/browse/CALCITE-1827]


> Add TIMESTAMPADD supported in SQL
> ---------------------------------
>
>                 Key: FLINK-6811
>                 URL: https://issues.apache.org/jira/browse/FLINK-6811
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table API & SQL
>            Reporter: sunjincheng
>            Assignee: sunjincheng
>
> TIMESTAMPADD(unit,interval,datetime_expr) Adds the integer expression 
> interval to the date or datetime expression datetime_expr. The unit for 
> interval is given by the unit argument, which should be one of the following 
> values: MICROSECOND (microseconds), SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, 
> QUARTER, or YEAR.
> * Syntax:
> TIMESTAMPADD(unit,interval,datetime_expr)
> * Arguments
> **unit: -
> **interval: -
> **datetime_expr: -
> * Return Types
>   DATAETIME/DATE/TIME
> * Example:
>   SELECT TIMESTAMPADD(month, 1, '2017-05-31') --> '2017-06-30 00:00:00.000'
>   SELECT TIMESTAMPADD(WEEK,1,'2003-01-02') -> '2003-01-09'
> * See more:
> ** [MySQL| 
> https://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_timestampadd]
> Note: Due to the difference of [[org.apache.calcite.rex.Rex Literal]] between 
> calcite 1.12 and calcite master we should temp close support the construce of 
> {{TIMESTAMPADD(SqlTypeFamily.ANY, SqlTypeFamily.INTEGER, 
> SqlTypeFamily.DATE)}}, until upgrade to calcite 1.13.
> See more: 
> https://issues.apache.org/jira/browse/CALCITE-1639
> https://issues.apache.org/jira/browse/FLINK-6851
> See more: 
> [https://issues.apache.org/jira/browse/CALCITE-1827|https://issues.apache.org/jira/browse/CALCITE-1827]



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to