- Catégories :
Fonctions de données semi-structurées et structurées (prédicats de type)
IS_TIMESTAMP_*¶
Vérifie si un argument VARIANT contient la valeur d’horodatage correspondante :
IS_TIMESTAMP_LTZ (valeur avec fuseau horaire local).
IS_TIMESTAMP_NTZ (valeur sans fuseau horaire).
IS_TIMESTAMP_TZ (valeur avec fuseau horaire).
- Voir aussi :
Syntaxe¶
IS_TIMESTAMP_LTZ( <variant_expr> )
IS_TIMESTAMP_NTZ( <variant_expr> )
IS_TIMESTAMP_TZ( <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 un horodatage. Sinon, renvoie FALSE.
Si l’entrée est NULL, renvoie NULL sans signaler d’erreur.
Exemples¶
Afficher toutes les horodatages dans une colonne VARIANT, la sortie utilisant le fuseau horaire spécifié pour la session.
Note
Le format de sortie du fuseau horaire est défini à l’aide d’un paramètre :
Le paramètre TIMESTAMP_LTZ_OUTPUT_FORMAT définit le format des valeurs TIMESTAMP_LTZ.
Le paramètre TIMESTAMP_NTZ_OUTPUT_FORMAT définit le format des valeurs TIMESTAMP_NTZ.
Le paramètre TIMESTAMP_TZ_OUTPUT_FORMAT définit le format des valeurs TIMESTAMP_TZ.
Dans ces exemples, le fuseau horaire local est l’heure normale du Pacifique US (-08:00 par rapport à GMT/UCT).
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 TIMESTAMP_NTZ dans les données en utilisant la fonction IS_TIMESTAMP_NTZ dans une clause WHERE :
SELECT * FROM vardttm WHERE IS_TIMESTAMP_NTZ(v);
+---------------------------+
| V |
|---------------------------|
| "2023-02-24 12:00:00.456" |
| "2021-02-24 14:00:00.123" |
+---------------------------+
Afficher les valeurs TIMESTAMP_LTZ dans les données en utilisant la fonction IS_TIMESTAMP_LTZ dans une clause WHERE :
SELECT * FROM vardttm WHERE IS_TIMESTAMP_LTZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2022-02-24 04:00:00.123 -0800" |
+---------------------------------+
Afficher les valeurs TIMESTAMP_TZ dans les données en utilisant la fonction IS_TIMESTAMP_TZ dans une clause WHERE :
SELECT * FROM vardttm WHERE IS_TIMESTAMP_TZ(v);
+---------------------------------+
| V |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+