- Kategorien:
Funktionen für semistrukturierte und strukturierte Daten (Typprädikate)
IS_DATE , IS_DATE_VALUE¶
Gibt TRUE zurück, wenn sein VARIANT-Argument einen DATE-Wert enthält.
IS_DATE und IS_DATE_VALUE sind gleichbedeutend.
- Siehe auch:
Syntax¶
IS_DATE( <variant_expr> )
IS_DATE_VALUE( <variant_expr> )
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 DATE-Wert enthält. Andernfalls wird FALSE zurückgegeben.
Wenn die Eingabe NULL ist, wird NULL ohne Meldung eines Fehlers zurückgegeben.
Beispiele¶
Gibt alle DATE-Werte in einer VARIANT-Spalte zurück.
Bemerkung
Das Ausgabeformat für Datumswerte wird mit dem Parameter DATE_OUTPUT_FORMAT festgelegt. Die Standardeinstellung ist YYYY-MM-DD
.
Erstellen und laden Sie eine Tabelle mit verschiedenen Datums- und Zeitwerten in einer VARIANT-Spalte:
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'));
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;
+---------------------------------+---------------+
| 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 DATE-Werte in den Daten an, indem Sie die Funktion IS_DATE in einer WHERE-Klausel verwenden. In der Ausgabe wird nur der DATE-Wert zurückgegeben. Die TIME- und TIMESTAMP-Werte werden nicht zurückgegeben.
SELECT v FROM vardttm WHERE IS_DATE(v);
+--------------+
| V |
|--------------|
| "2024-02-24" |
+--------------+