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 :

IS_<type_objet> , IS_DATE , IS_DATE_VALUE , IS_TIME

Syntaxe

IS_TIMESTAMP_LTZ( <variant_expr> )

IS_TIMESTAMP_NTZ( <variant_expr> )

IS_TIMESTAMP_TZ( <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 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 :

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);
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 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);
Copy
+---------------------------+
| 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);
Copy
+---------------------------------+
| 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);
Copy
+---------------------------------+
| V                               |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+