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

lincoln lee commented on FLINK-35987:
-------------------------------------

[~dylanhz] I propose some adjustments to the behavior/semantics of this new 
function:

First, define the `index` to be explicitly 'a positive integer starting from 1' 
(during compile phase, we can report errors for explicitly illegal integer 
values, such as negative numbers).

At runtime, when an invalid index value is encountered, the function doesn't 
throw any exceptions and returns null.

WDYT?

> Add ELT function
> ----------------
>
>                 Key: FLINK-35987
>                 URL: https://issues.apache.org/jira/browse/FLINK-35987
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Table SQL / API
>            Reporter: Dylan He
>            Assignee: Dylan He
>            Priority: Major
>              Labels: pull-request-available
>
> Add ELT function.
> ----
> Returns the {{index}}-th expression.
> Example:
> {code:sql}
> > SELECT ELT(1, 'scala', 'java');
>  scala
> {code}
> Syntax:
> {code:sql}
> ELT(index, expr...)
> {code}
> Arguments:
>  * {{index}}: An INTEGER expression.
>  * {{expr}}: A STRING or BINARY expression. One expr is required as least.
> Returns:
> The result has the type of the least common type of all {{expr}}.
> {{index}} must be between 1 and the number of {{expr}}. Otherwise, the 
> function returns an error.
> See also:
>  * 
> [Spark|https://spark.apache.org/docs/3.5.1/sql-ref-functions-builtin.html#string-functions]
>  * 
> [Databricks|https://docs.databricks.com/en/sql/language-manual/functions/elt.html]
>  * 
> [MySQL|https://dev.mysql.com/doc/refman/8.4/en/string-functions.html#function_elt]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to