Partilhar via


Função try_cast

Aplica-se a:Marque Sim Databricks SQL Marque Sim Databricks Runtime 10.4 LTS e superior

Retorna o valor de sourceExpr cast para o targetType se o cast é suportado, caso contrário, ele retorna NULL, desde que o cast do tipo de sourceExpr para targetType seja suportado. Se os tipos de origem e destino não forem uma combinação de transmissão válida, um DATATYPE_MISMATCH erro será retornado. Consulte Devoluções para obter as combinações de transmissão suportadas.

Sintaxe

try_cast(sourceExpr AS targetType)

Argumentos

  • sourceExpr: Qualquer expressão passível de cast.
  • targetType: O tipo do resultado.

Devoluções

O resultado é do tipo targetType.

Esta função é uma variante mais relaxada da cast função que inclui uma descrição detalhada.

try_cast difere da cast função por tolerar as seguintes condições, desde que a conversão do tipo de expr para type seja suportada:

  • Se um sourceExpr valor não pode caber dentro do domínio do targetType resultado é NULL em vez de um erro de estouro.
  • Se um sourceExpr valor não estiver bem formado ou contiver caracteres inválidos, o resultado será NULL em vez de um erro de dados inválido.

As exceções acima são:

Exemplos

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

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