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
Copy code Expand code block TRY_CAST ( <source_string_expr> AS <target_data_type> )
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
An interval variation
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:
Copy code Expand code block SELECT TRY_CAST ( '05-Mar-2016' AS TIMESTAMP ) ;
+--------------------------------------+
| TRY_CAST ( '05-MAR-2016' AS TIMESTAMP ) |
|--------------------------------------|
| 2016 - 03 - 05 00 : 00 : 00.000 |
+--------------------------------------+
Copy code Expand code block SELECT TRY_CAST ( '05/16' AS TIMESTAMP ) ;
+--------------------------------+
| TRY_CAST ( '05/16' AS TIMESTAMP ) |
|--------------------------------|
| NULL |
+--------------------------------+
Copy code Expand code block SELECT TRY_CAST ( 'ABCD' AS CHAR ( 2 ) ) ;
+-----------------------------+
| TRY_CAST ( 'ABCD' AS CHAR ( 2 ) ) |
|-----------------------------|
| NULL |
+-----------------------------+
Copy code Expand code block SELECT TRY_CAST ( 'ABCD' AS VARCHAR ( 10 ) ) ;
+---------------------------------+
| TRY_CAST ( 'ABCD' AS VARCHAR ( 10 ) ) |
|---------------------------------|
| ABCD |
+---------------------------------+