try_cast function

Returns the value of sourceExpr cast to data type targetType if possible, or NULL if not possible.

Since: Databricks Runtime 10.0

Syntax

try_cast(sourceExpr AS targetType)

Arguments

  • sourceExpr: Any castable expression.

  • targetType: The type of the result.

Returns

The result is of type targetType.

This function is a more relaxed variant of cast function which includes a detailed description.

try_cast differs from cast function by tolerating the following conditions as long as the cast from the type of expr to type is supported:

  • If a sourceExpr value cannot fit within the domain of targetType the result is NULL instead of an overflow error.

  • If a sourceExpr value is not well formed or contains invalid characters the result is NULL instead of an invalid data error.

Exception to the above are:

  • Casting to a STRUCT field with NOT NULL property.

  • Casting a MAP key.

Examples

> SELECT try_cast('10' AS INT);
 10

> SELECT try_cast('a' AS INT);
 NULL