[ https://issues.apache.org/jira/browse/CALCITE-5745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17728935#comment-17728935 ]
ZheHu commented on CALCITE-5745: -------------------------------- I agree that we need two different null semantics for CONCAT. For MSSQL, its CONCAT function requires at least 2 and at most 254 arguments, hence we need a third function like MSSQL_CONCAT(the way it deals with null value can be covered by the above semantics) to achieve this. If we reach an agreement on this, I'll start with CONCAT2 for Oracle. > CONCAT2 function(enabled in Oracle library) gets wrong result when one of the > argument is NULL > ---------------------------------------------------------------------------------------------- > > Key: CALCITE-5745 > URL: https://issues.apache.org/jira/browse/CALCITE-5745 > Project: Calcite > Issue Type: Bug > Components: core > Affects Versions: 1.34.0 > Reporter: ZheHu > Assignee: ZheHu > Priority: Major > > Tested CONCAT function in Oracle and got the corresponding results. > {code} > select concat('a', cast(null as varchar(20))) from DUAL; > --- results in 'a' > {code} > {code} > select concat('a', null) from DUAL; > select 'a' || null from DUAL; > --- both result in 'a' > {code} > In Calcite(see checkConcat2Func() in SqlOperatorTest.java), CONCAT2 function > gets null when running: > {code} > concat('a', cast(null as varchar)) > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)