类别:

转换函数

TRY_CAST

CAST、:: 的特殊版本,可用于部分数据类型转换。它会执行相同的操作(即将一种数据类型的值转换为另一种数据类型),但在无法执行转换时返回一个 NULL 值而不是引发错误。

有关更多信息,请参阅 错误处理转换函数

语法

TRY_CAST( <source_string_expr> AS <target_data_type> )
Copy

使用说明

  • 仅适用于字符串表达式。

  • 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              |
+--------------------------------------+
Copy
SELECT TRY_CAST('05/16' AS TIMESTAMP);
+--------------------------------+
| TRY_CAST('05/16' AS TIMESTAMP) |
|--------------------------------|
| NULL                           |
+--------------------------------+
Copy
SELECT TRY_CAST('ABCD' AS CHAR(2));
+-----------------------------+
| TRY_CAST('ABCD' AS CHAR(2)) |
|-----------------------------|
| NULL                        |
+-----------------------------+
Copy
SELECT TRY_CAST('ABCD' AS VARCHAR(10));
+---------------------------------+
| TRY_CAST('ABCD' AS VARCHAR(10)) |
|---------------------------------|
| ABCD                            |
+---------------------------------+
Copy
语言: 中文