Catégories :

Fonctions de données semi-structurées et structurées (prédicats de type)

IS_DATE , IS_DATE_VALUE

Renvoie TRUE si son argument VARIANT contient une valeur DATE.

IS_DATE et IS_DATE_VALUE sont synonymes.

Voir aussi :

IS_<type_objet> , IS_TIME , IS_TIMESTAMP_*

Syntaxe

IS_DATE( <variant_expr> )

IS_DATE_VALUE( <variant_expr> )
Copy

Arguments

variant_expr

Une expression qui correspond à une valeur de type VARIANT.

Renvoie

Renvoie une valeur BOOLEAN ou NULL.

  • Renvoie TRUE si la valeur VARIANT contient une valeur DATE. Sinon, renvoie FALSE.

  • Si l’entrée est NULL, renvoie NULL sans signaler d’erreur.

Exemples

Renvoyer toutes les valeurs DATE dans une colonne VARIANT.

Note

Le format de sortie des valeurs de date est défini à l’aide du paramètre DATE_OUTPUT_FORMAT. Le paramètre par défaut est YYYY-MM-DD.

Créer et charger une table avec diverses valeurs de date et d’heure dans une colonne VARIANT :

CREATE OR REPLACE TABLE vardttm (v VARIANT);
Copy
INSERT INTO vardttm SELECT TO_VARIANT(TO_DATE('2024-02-24'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIME('20:57:01.123456789+07:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP('2023-02-24 12:00:00.456'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_LTZ('2022-02-24 13:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_NTZ('2021-02-24 14:00:00.123 +01:00'));
INSERT INTO vardttm SELECT TO_VARIANT(TO_TIMESTAMP_TZ('2020-02-24 15:00:00.123 +01:00'));
Copy

Utiliser la fonction TYPEOF pour afficher les types de données des valeurs stockées dans la colonne VARIANT v :

SELECT v, TYPEOF(v) AS type FROM vardttm;
Copy
+---------------------------------+---------------+
| V                               | TYPE          |
|---------------------------------+---------------|
| "2024-02-24"                    | DATE          |
| "20:57:01"                      | TIME          |
| "2023-02-24 12:00:00.456"       | TIMESTAMP_NTZ |
| "2022-02-24 04:00:00.123 -0800" | TIMESTAMP_LTZ |
| "2021-02-24 14:00:00.123"       | TIMESTAMP_NTZ |
| "2020-02-24 15:00:00.123 +0100" | TIMESTAMP_TZ  |
+---------------------------------+---------------+

Afficher les valeurs DATE dans les données en utilisant la fonction IS_DATE dans une clause WHERE. Seule la valeur DATE est renvoyée dans la sortie. Les valeurs TIME et TIMESTAMP ne sont pas renvoyées.

SELECT v FROM vardttm WHERE IS_DATE(v);
Copy
+--------------+
| V            |
|--------------|
| "2024-02-24" |
+--------------+