- 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 :
Syntaxe¶
IS_DATE( <variant_expr> )
IS_DATE_VALUE( <variant_expr> )
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);
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'));
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;
+---------------------------------+---------------+
| 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);
+--------------+
| V |
|--------------|
| "2024-02-24" |
+--------------+