Catégories :

Fonctions de conversion

TRY_CAST

Une version spéciale de CAST , :: qui est disponible pour un sous-ensemble de conversions de types de données. Elle effectue la même opération (c.-à-d. qu’elle convertit une valeur d’un type de données en un autre type de données), mais renvoie une valeur NULL au lieu de générer une erreur lorsque la conversion ne peut pas être effectuée.

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

Syntaxe

TRY_CAST( <source_string_expr> AS <target_data_type> )

Notes sur l’utilisation

  • Ne fonctionne que pour les expressions de chaîne.

  • type_données_cible doit être l’un des suivants :

    • VARCHAR (ou l’un de ses synonymes)

    • NUMBER (ou l’un de ses synonymes)

    • DOUBLE

    • BOOLEAN

    • DATE

    • TIME

    • TIMESTAMP, TIMESTAMP_LTZ, TIMESTAMP_NTZ ou TIMESTAMP_TZ

Exemples

Les exemples de code suivants montrent comment utiliser la fonction TRY_CAST avec des valeurs valides et non valides :

SELECT TRY_CAST('05-Mar-2016' AS TIMESTAMP);
+--------------------------------------+
| TRY_CAST('05-MAR-2016' AS TIMESTAMP) |
|--------------------------------------|
| 2016-03-05 00:00:00.000              |
+--------------------------------------+
SELECT TRY_CAST('05/16' AS TIMESTAMP);
+--------------------------------+
| TRY_CAST('05/16' AS TIMESTAMP) |
|--------------------------------|
| NULL                           |
+--------------------------------+
SELECT TRY_CAST('ABCD' AS CHAR(2));
+-----------------------------+
| TRY_CAST('ABCD' AS CHAR(2)) |
|-----------------------------|
| NULL                        |
+-----------------------------+
SELECT TRY_CAST('ABCD' AS VARCHAR(10));
+---------------------------------+
| TRY_CAST('ABCD' AS VARCHAR(10)) |
|---------------------------------|
| ABCD                            |
+---------------------------------+