Categorias:

Funções de conversão

TRY_TO_DOUBLE

Uma versão especial de TO_DOUBLE que executa a mesma operação (ou seja, converte uma expressão de entrada em um número de ponto flutuante de precisão dupla), mas com suporte para tratamento de erros (ou seja, se a conversão não puder ser executada, ela retorna um valor NULL em vez de gerar um erro).

Para obter mais informações, consulte Funções de conversão de tratamento de erros.

Sintaxe

TRY_TO_DOUBLE( <string_expr> [, '<format>' ] )
Copy

Argumentos

expr

Uma expressão de um tipo de caractere.

format

Se a expressão avalia como uma cadeia de caracteres, então a função aceita um modelo de formato opcional. Os modelos de formato são descritos em Modelos de formato SQL. O modelo de formato especifica o formato da cadeia de caracteres de entrada, não o formato do valor da saída.

Notas de uso

  • A função aceita apenas expressões de cadeia de caracteres.

  • As cadeias de caracteres são convertidas como números inteiros decimais ou fracionários, notação científica e valores especiais (nan, inf, infinidade) são aceitos.

Retornos

Esta função retorna um valor do tipo de dados FLOAT.

Se houver um erro de conversão, a função retorna NULL.

Exemplos

Este exemplo usa a função TRY_TO_DOUBLE.

SELECT TRY_TO_DOUBLE('3.1415926'), TRY_TO_DOUBLE('Invalid');
Copy
+----------------------------+--------------------------+
| TRY_TO_DOUBLE('3.1415926') | TRY_TO_DOUBLE('INVALID') |
|----------------------------+--------------------------|
|                  3.1415926 |                     NULL |
+----------------------------+--------------------------+

Para exemplos adicionais, consulte TO_DOUBLE.