SQL Server TRY_CAST() Function: Cast to DataType
SQL Server TRY_CAST()
function returns a value cast to the specified type if successful, else returns NULL.
The main difference between TRY_CAST()
and the CAST() function is the way unsuccessful castings are handled.
For unsuccessful cast operation, the TRY_CAST()
returns a NULL whereas the CAST()
function returns an error.
TRY_CAST(expression AS data_type[(length)])
Parameters
expression: Any valid expression whose value is to be cast.
data_type: The data type into which the expression will be cast.
length: An optional parameter that specifies the length of the target data type.
Return Value
Returns the expression cast into the target data type if CAST() succeeds else returns NULL.
Example 1:
In the following example, a decimal value is converted to as int.
SELECT TRY_CAST(1234.56 AS int) AS Result;
Example 2:
In this example, a string in the expected date format is converted to a datetime type.
SELECT TRY_CAST('12/02/2022' AS datetime) AS Result;
Example 3:
This example demonstrates the TRY_CAST()
function returning a NULL value when it doesn’t succeed.
SELECT TRY_CAST('Hello' AS int) AS Result;