Поделиться через


Функция try_cast

Область применения: флажок Databricks SQL флажок Databricks Runtime 10.4 LTS и выше

Возвращает значение sourceExpr с приведением к типу данных targetType, если это возможно, или значение NULL в обратном случае.

Синтаксис

try_cast(sourceExpr AS targetType)

Аргументы

  • sourceExpr: любое выражение, допускающее приведение.
  • targetType: тип результата.

Возвраты

Результат имеет тип targetType.

Эта функция является менее строгим вариантом функции cast, которая содержит подробное описание.

try_cast отличается от функции cast тем, что допускает следующие условия, если поддерживается приведение от типа expr к type:

  • Если значение sourceExpr не находится в области targetType, результатом будет NULL, а не ошибка переполнения.
  • Если значение sourceExpr неправильно сформировано или содержит недопустимые символы, результатом будет NULL, а не ошибка недопустимых данных.

Исключения из вышесказанного:

  • Приведение к полю STRUCT со свойством NOT NULL.
  • Приведение ключа MAP.

Примеры

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

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