Kategorien:

Funktionen für semistrukturierte und strukturierte Daten (Typprädikate)

IS_TIMESTAMP_*

Überprüft, ob ein VARIANT-Argument den entsprechenden Zeitstempel-Wert enthält:

  • IS_TIMESTAMP_LTZ (Wert mit lokaler Zeitzone).

  • IS_TIMESTAMP_NTZ (Wert ohne Zeitzone).

  • IS_TIMESTAMP_TZ (Wert mit Zeitzone).

Siehe auch:

IS_<Objekttyp> , IS_DATE , IS_DATE_VALUE , IS_TIME

Syntax

IS_TIMESTAMP_LTZ( <variant_expr> )

IS_TIMESTAMP_NTZ( <variant_expr> )

IS_TIMESTAMP_TZ( <variant_expr> )
Copy

Argumente

variant_expr

Ein Ausdruck, der einen Wert vom Typ VARIANT ergibt.

Rückgabewerte

Gibt einen BOOLEAN Wert oder NULL zurück.

  • Gibt TRUE zurück, wenn der VARIANT-Wert einen Zeitstempel enthält. Andernfalls wird FALSE zurückgegeben.

  • Wenn die Eingabe NULL ist, wird NULL ohne Meldung eines Fehlers zurückgegeben.

Beispiele

Zeigt alle Zeitstempel in einer VARIANT-Spalte an, wobei die Ausgabe die für die Sitzung angegebene Zeitzone verwendet.

Bemerkung

Das Ausgabeformat für die Zeitzone wird über einen Parameter festgelegt:

In diesen Beispielen ist die lokale Zeitzone US Pacific Standard Time (-08:00 bezogen auf GMT/UCT).

Erstellen und laden Sie eine Tabelle mit verschiedenen Datums- und Zeitwerten in einer VARIANT-Spalte:

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

Verwenden Sie die Funktion TYPEOF in einer Abfrage, um die Datentypen der in der VARIANT-Spalte gespeicherten Werte v anzuzeigen:

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  |
+---------------------------------+---------------+

Zeigen Sie die TIMESTAMP_NTZ-Werte in den Daten an, indem Sie die Funktion IS_TIMESTAMP_NTZ in einer WHERE-Klausel verwenden:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_NTZ(v);
Copy
+---------------------------+
| V                         |
|---------------------------|
| "2023-02-24 12:00:00.456" |
| "2021-02-24 14:00:00.123" |
+---------------------------+

Zeigen Sie die TIMESTAMP_LTZ-Werte in den Daten an, indem Sie die Funktion IS_TIMESTAMP_LTZ in einer WHERE-Klausel verwenden:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_LTZ(v);
Copy
+---------------------------------+
| V                               |
|---------------------------------|
| "2022-02-24 04:00:00.123 -0800" |
+---------------------------------+

Zeigen Sie die TIMESTAMP_TZ-Werte in den Daten an, indem Sie die Funktion IS_TIMESTAMP_TZ in einer WHERE-Klausel verwenden:

SELECT * FROM vardttm WHERE IS_TIMESTAMP_TZ(v);
Copy
+---------------------------------+
| V                               |
|---------------------------------|
| "2020-02-24 15:00:00.123 +0100" |
+---------------------------------+