TRY_CAST
Converts data types into other data types based on the specified parameters. If the conversion cannot be performed, returns a NULL. To return an error message instead, use CAST.
TRY_CAST replaces only execution errors with NULLs. However, during planning, impossible casts between two non-castable types still produce an error because the query is invalid.
Syntax
TRY_CAST(<value> AS <type>)
Parameters
Parameter | Description | Supported input types |
---|---|---|
<value> | The value to convert or an expression that results in a value to convert | Any |
<type> | The target data type (case-insensitive) | Any |
Return Type
Returns NULL
if the conversion cannot be performed. Otherwise, returns the data type of <type>
.
Example
The following example attempts to cast the level input as an integer:
SELECT TRY_CAST('1' AS INTEGER) as level, TRY_CAST('level 2' AS INTEGER) as current_level;
Returns: 1, null