Catégories :

Fonctions de conversion

TRY_TO_DOUBLE

Une version spéciale de TO_DOUBLE qui effectue la même opération (elle convertit une expression d’entrée en nombre à virgule flottante de double précision), mais avec une prise en charge du traitement des erreurs (si la conversion ne peut pas être effectuée, elle retourne une valeur NULL au lieu de produire une erreur).

Pour plus d’informations, voir Fonctions de conversion de traitement des erreurs.

Syntaxe

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

Arguments

expr

Une expression d’un type de caractère.

format

Si l’expression renvoie une chaîne, la fonction accepte un modèle de format facultatif. Les modèles de format sont décrits à l’emplacement : Modèles de format SQL. Le modèle de format spécifie le format de la chaîne d’entrée, pas le format de la valeur de sortie.

Notes sur l’utilisation

  • La fonction accepte uniquement les expressions de chaîne.

  • Les chaînes sont converties en nombres décimaux entiers ou fractionnaires, la notation scientifique et les valeurs spéciales (nan, inf, infinity) sont acceptées.

Renvoie

La fonction renvoie une valeur de type de données FLOAT.

S’il y a une erreur de conversion, la fonction renvoie NULL.

Exemples

Cet exemple utilise la fonction 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 |
+----------------------------+--------------------------+

Pour d’autres exemples, voir TO_DOUBLE.