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

Dan Zou edited comment on CALCITE-4771 at 3/29/23 2:07 PM:
-----------------------------------------------------------

[~julianhyde] I do not find TRY_CAST in Spark([Spark 
functions|https://spark.apache.org/docs/latest/api/sql/]). Maybe we should not 
enable it for SPARK, but for MSSQL?


was (Author: frankzou):
[~julianhyde] I do not find TRY_CAST in Spark([Spark 
functions|https://spark.apache.org/docs/latest/api/sql/]). Maybe we should not 
enable it for {SPARK}, but for {MSSQL}?

> change the value of the CAST function to be nullable 
> -----------------------------------------------------
>
>                 Key: CALCITE-4771
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4771
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: xuyang
>            Assignee: Dan Zou
>            Priority: Major
>         Attachments: image-2021-09-16-11-43-55-743.png
>
>
> In the sql "SELECT CAST('haha' AS INT)",the value the function CAST returns 
> will be parsed  into NOT NULL, because when parsing, the type CAST returns is 
> from the INT and the nullable attribute is from the 'haha', which doesn't 
> consider the condition that parsing a string to an int could be invalid and 
> return NULL values.
> I think there are two ways to improve this question:
>  * One is to change the value of the CAST function to be nullable, which 
> avoids the invalid parsing.
>  * The other way is to introduce a function named TRY_CAST, which is used in 
> SQL Server.If the parsing fails, TRY_CAST will return NULL instead of throws 
> exception that a NOT NULL field will be set with our unexpected value NULL.
>  



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

Reply via email to