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

Konstantin Knauf reassigned FLINK-32706:
----------------------------------------

    Assignee: Hanyu Zheng

> Add SPLIT(STRING) support in SQL & Table API
> --------------------------------------------
>
>                 Key: FLINK-32706
>                 URL: https://issues.apache.org/jira/browse/FLINK-32706
>             Project: Flink
>          Issue Type: Improvement
>            Reporter: Hanyu Zheng
>            Assignee: Hanyu Zheng
>            Priority: Major
>              Labels: pull-request-available
>
> SPLIT Function
> Description
> Splits a string into an array of substrings, based on a delimiter.
> Syntax
> The syntax for the SPLIT function is:
> {code:java}
> SPLIT(col1, delimiter){code}
> Splits a string into an array of substrings based on a delimiter. If the 
> delimiter is not found, then the original string is returned as the only 
> element in the array. If the delimiter is empty, then all characters in the 
> string are split. If either, string or delimiter, are NULL, then a NULL value 
> is returned.
> If the delimiter is found at the beginning or end of the string, or there are 
> contiguous delimiters, then an empty space is added to the array.
> Example
> Let's look at some  function examples and explore how to use the SPLIT 
> function.
> For example:
>  
> {code:java}
> SELECT SPLIT('abcdefg', 'c');
> Result: ['ab', 'defg']
> {code}
> see also:
> 1. ksqlDB Split function
> ksqlDB provides a scalar function named {{SPLIT}} which splits a string into 
> an array of substrings based on a delimiter.
> Syntax: {{SPLIT(string, delimiter)}}
> For example: {{SPLIT('a,b,c', ',')}} will return {{{}['a', 'b', 'c']{}}}.
> [https://docs.ksqldb.io/en/0.8.1-ksqldb/developer-guide/ksqldb-reference/scalar-functions/#split]
> 2. Apache Hive Split function
> Hive offers a function named {{split}} which splits a string around a 
> specified delimiter and returns an array of strings.
> Syntax: {{array<string> split(string str, string pat)}}
> For example: {{split('a,b,c', ',')}} will return {{{}["a", "b", "c"]{}}}.
> https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
> 3. Spark SQL Split function
> Spark SQL also offers a function named {{{}split{}}}, similar to the one in 
> Hive.
> Syntax: {{split(str, pattern[, limit])}}
> Here, {{limit}} is an optional parameter to specify the maximum length of the 
> returned array.
> For example: {{split('oneAtwoBthreeC', '[ABC]', 2)}} will return {{{}["one", 
> "twoBthreeC"]{}}}.
> [https://spark.apache.org/docs/latest/api/sql/index.html#split]
> 4. Presto Split function
> Presto offers a function named {{split}} which splits a string around a 
> regular expression and returns an array of strings.
> Syntax: {{array<varchar> split(string str, string regex)}}
> For example: {{split('a.b.c', '\.')}} will return {{{}["a", "b", "c"]{}}}.
> [https://prestodb.io/docs/current/functions/string.html]



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

Reply via email to