[
https://issues.apache.org/jira/browse/CALCITE-7613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18090371#comment-18090371
]
Mihai Budiu commented on CALCITE-7613:
--------------------------------------
CONCAT_WS accepts multiple arguments.
> Support multi-operand CONCAT operator
> -------------------------------------
>
> Key: CALCITE-7613
> URL: https://issues.apache.org/jira/browse/CALCITE-7613
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.42.0
> Reporter: Yu Xu
> Assignee: Yu Xu
> Priority: Minor
> Labels: pull-request-available
> Fix For: 1.43.0
>
>
> Currently, Calcite's CONCAT operator (the || string concatenation operator)
> is defined as a SqlBinaryOperator, which restricts it to exactly two operands
> at the RexNode level.
> This limitation forces users to manually construct nested CONCAT calls or use
> workarounds when dealing with multiple string concatenations.
> When attempting to concatenate more than two strings:
> {code:java}
> -- Desired SQL (currently fails at RexNode construction)
> SELECT CONCAT('Hello', ' ', 'World', '!');
> -- Or using the || operator
> SELECT 'Hello' || ' ' || 'World' || '!'; {code}
> If you try to construct 3+ operands it would error out:
> {code:java}
> wrong operand count 3 for ||
> {code}
> Mainstream databases today, such as PostgreSQL and Oracle, support
> multi-argument `CONCAT`.
> postgresql:[https://onecompiler.com/postgresql/44sufvv78]
> oracle:https://onecompiler.com/plsql/44sufwevp
--
This message was sent by Atlassian Jira
(v8.20.10#820010)