Skip to main content

try_cast function

Applies to: check marked yes Databricks SQL check marked yes Databricks Runtime 10.4 LTS and above

Returns the value of sourceExpr cast to the targetType if the cast is supported; otherwise, it returns NULL, provided that the cast from the type of sourceExpr to targetType is supported. If the source and target types are not a valid cast combination, a DATATYPE_MISMATCH error is returned. See Returns for supported cast combinations.

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

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

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