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


Функция try_cast

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

Возвращает значение sourceExpr, приведенное к targetType, если приведение поддерживается; в противном случае возвращается NULL значение, при условии, что приведение из типа sourceExpr в targetType поддерживается. Если исходные и целевые типы не являются допустимой комбинацией для приведения, будет возвращена ошибка. Сведения о поддерживаемых сочетаниях приведения см. в разделе "Возвращается ".

Синтаксис

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