Kategorien:

Konvertierungsfunktionen, Datums- und Uhrzeitfunktionen

TRY_TO_DATE

Eine spezielle Version der TO_DATE-Funktion, die die gleiche Operation ausführt (d. h. einen Eingabeausdruck in ein Datum konvertiert), aber mit Unterstützung für die Fehlerbehandlung (d. h. wenn die Konvertierung nicht ausgeführt werden kann, gibt sie einen NULL-Wert zurück, anstatt einen Fehler auszulösen).

Weitere Informationen dazu finden Sie unter Konvertierungsfunktionen zur Fehlerbehandlung.

Siehe auch:

TO_DATE , DATE

Syntax

TRY_TO_DATE( <string_expr> [, <format> ] )
TRY_TO_DATE( '<integer>' )
Copy

Argumente

Benötigt:

Eine der folgenden Optionen:

string_expr

Zeichenfolge, aus der ein Datumswert extrahiert werden soll. Beispiel: '2024-01-31'.

'integer'

Ein Ausdruck, der eine Zeichenfolge ergibt, die eine Ganzzahl enthält. Beispiel: '15000000'. Abhängig von der Größenordnung der Zeichenfolge kann der Wert als Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden interpretiert werden. Weitere Informationen zu dieser Funktion finden Sie in den Nutzungshinweisen.

Optional:

format

Datumsformatbezeichner für string_expr oder AUTO, was angibt, dass Snowflake das zu verwendende Format automatisch ermitteln soll. Weitere Informationen dazu finden Sie unter Datums- und Uhrzeitformate in Konvertierungsfunktionen.

Der Standardwert ist der aktuelle Wert des Sitzungsparameters DATE_INPUT_FORMAT (Standard: AUTO).

Rückgabewerte

Der Datentyp des zurückgegebenen Werts ist DATE.

Nutzungshinweise

  • Das Anzeigeformat für Datumswerte in der Ausgabe wird durch den Sitzungsparameter DATE_OUTPUT_FORMAT bestimmt (Standard: YYYY-MM-DD).

  • Wenn das Format des Eingabeparameters eine Zeichenfolge ist, die eine Ganzzahl enthält:

    • Nachdem die Zeichenfolge in eine Ganzzahl konvertiert wurde, wird die Ganzzahl als Anzahl von Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden nach dem Beginn der Unix-Epoche behandelt (1970-01-01 00:00:00.000000000 UTC).

      • Wenn die Ganzzahl kleiner als 31.536.000.000 (die Anzahl der Millisekunden eines Jahres) ist, wird der Wert als Anzahl der Sekunden behandelt.

      • Wenn der Wert größer oder gleich 31.536.000.000 und kleiner als 31.536.000.000.000 ist, wird der Wert als Millisekunden behandelt.

      • Wenn der Wert größer oder gleich 31.536.000.000.000 und kleiner als 31.536.000.000.000.000 ist, wird der Wert als Mikrosekunde behandelt.

      • Wenn der Wert größer oder gleich 31.536.000.000.000.000 ist, wird der Wert als Nanosekunde behandelt.

    • Wenn mehr als eine Zeile ausgewertet wird (z. B. bei Eingabe der Spaltenname einer Tabelle, die mehr als eine Zeile enthält), bestimmt der erste verarbeitete Wert, ob alle nachfolgenden Werte als Sekunden, Millisekunden, Mikrosekunden oder Nanosekunden behandelt werden.

Beispiele

Im folgenden Beispiel wird die Funktion TRY_TO_DATE verwendet:

SELECT 
  TRY_TO_DATE('2024-05-10') AS valid_date, 
  TRY_TO_DATE('Invalid') AS invalid_date;
Copy
+------------+--------------+
| VALID_DATE | INVALID_DATE |
|------------+--------------|
| 2024-05-10 | NULL         |
+------------+--------------+

Beispiele, die einen Eingabeausdruck in einen Datumswert konvertieren, finden Sie unter TO_DATE , DATE.