Compartilhar via


Função try_cast

Aplica-se a:verificação marcada como sim SQL do Databricks verificação marcada como sim Databricks Runtime 10.4 LTS e versões posteriores

Retorna o valor de sourceExpr convertido para targetType se a conversão for suportada; caso contrário, retorna NULL, desde que a conversão do tipo de sourceExpr para targetType seja suportada. Se os tipos de origem e destino não forem uma combinação válida para conversão, será retornado um erro DATATYPE_MISMATCH. Consulte Retornos para obter combinações de tipos com suporte.

Sintaxe

try_cast(sourceExpr AS targetType)

Argumentos

  • sourceExpr: qualquer expressão que possa ser convertida.
  • targetType: O tipo do resultado.

Retornos

O resultado é do tipo targetType.

Essa função é uma variante mais descontraída da função que inclui uma descrição cast detalhada.

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

  • Se um valor sourceExpr não puder se ajustar ao domínio do targetTypeo resultado será NULL em vez de um erro de estouro.
  • Se um valor sourceExpr não estiver bem formado ou contiver caracteres inválidos, o resultado será NULL em vez de um erro de dados inválido.

A exceção ao mencionado acima é:

  • Converter para um campo STRUCT com a propriedade NOT NULL.
  • Converter uma chave MAP.

Exemplos

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

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