try_cast
函数
适用于: Databricks SQL Databricks Runtime 10.4 LTS 及更高版本
如果可能,则返回强制转换为数据类型 targetType
的 sourceExpr
的值;如果不可能,则返回 NULL。
语法
try_cast(sourceExpr AS targetType)
参数
sourceExpr
:任何可强制转换的表达式。targetType
:结果的类型。
返回
结果的类型为 targetType
。
此函数是 cast 函数 的更宽松变体,其中包含详细说明。
try_cast
与 cast 函数 的不同之处在于,只要支持从类型 expr
到 type
的强制转换,它就可以容忍以下条件:
- 如果
sourceExpr
值无法容纳在targetType
的域中,则结果为NULL
而不是溢出错误。 - 如果
sourceExpr
值格式不正确或包含无效字符,则结果为NULL
而不是无效数据错误。
上述条件的例外情况如下:
示例
> SELECT try_cast('10' AS INT);
10
> SELECT try_cast('a' AS INT);
NULL