Categories:

Conversion Functions

TRY_CAST¶

A special version of CAST , :: that is available for a subset of data type conversions. It performs the same operation (i.e. converts a value of one data type into another data type), but returns a NULL value instead of raising an error when the conversion can not be performed.

For more information, see Error-handling Conversion Functions.

Syntax¶

TRY_CAST( <source_string_expr> AS <target_data_type> )
Copy

Usage Notes¶

  • Only works for string expressions.

  • target_data_type must be one of the following:

    • VARCHAR (or any of its synonyms)

    • NUMBER (or any of its synonyms)

    • DOUBLE

    • BOOLEAN

    • DATE

    • TIME

    • TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ, or TIMESTAMP_TZ

Examples¶

The following code samples show how to use the TRY_CAST function with valid and invalid values:

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