- 类别:
TRY_CAST¶
CAST、:: 的特殊版本,可用于部分数据类型转换。它会执行相同的操作(即将一种数据类型的值转换为另一种数据类型),但在无法执行转换时返回一个 NULL 值而不是引发错误。
有关更多信息,请参阅 错误处理转换函数。
语法¶
TRY_CAST( <source_string_expr> AS <target_data_type> )
使用说明¶
仅适用于字符串表达式。
target_data_type
必须为下列之一:VARCHAR(或其任何同义词)
NUMBER(或其任何同义词)
DOUBLE
BOOLEAN
DATE
TIME
TIMESTAMP、TIMESTAMP_LTZ、TIMESTAMP_NTZ 或 TIMESTAMP_TZ
示例¶
以下代码示例演示如何将 TRY_CAST
函数与有效值和无效值搭配使用:
SELECT TRY_CAST('05-Mar-2016' AS TIMESTAMP); +--------------------------------------+ | TRY_CAST('05-MAR-2016' AS TIMESTAMP) | |--------------------------------------| | 2016-03-05 00:00:00.000 | +--------------------------------------+SELECT TRY_CAST('05/16' AS TIMESTAMP); +--------------------------------+ | TRY_CAST('05/16' AS TIMESTAMP) | |--------------------------------| | NULL | +--------------------------------+SELECT TRY_CAST('ABCD' AS CHAR(2)); +-----------------------------+ | TRY_CAST('ABCD' AS CHAR(2)) | |-----------------------------| | NULL | +-----------------------------+SELECT TRY_CAST('ABCD' AS VARCHAR(10)); +---------------------------------+ | TRY_CAST('ABCD' AS VARCHAR(10)) | |---------------------------------| | ABCD | +---------------------------------+