- Categorias:
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>' ] )
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');
+----------------------------+--------------------------+
| TRY_TO_DOUBLE('3.1415926') | TRY_TO_DOUBLE('INVALID') |
|----------------------------+--------------------------|
| 3.1415926 | NULL |
+----------------------------+--------------------------+
Para exemplos adicionais, consulte TO_DOUBLE.