Funktion TO_TIMESTAMP - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

Funktion TO_TIMESTAMP

TO_TIMESTAMP konvertiert eine TIMESTAMP-Zeichenfolge zu TIMESTAMPTZ. Eine Liste mit zusätzlichen Datums- und Uhrzeitfunktionen für Amazon Redshift finden Sie unter Datums- und Zeitfunktionen.

Syntax

to_timestamp(timestamp, format)
to_timestamp (timestamp, format, is_strict)

Argumente

timestamp

Eine Zeichenfolge, die für einen Zeitstempelwert in dem von format angegebenen Format steht. Wenn dieses Argument leer gelassen wird, wird der Zeitstempelwert standardmäßig auf 0001-01-01 00:00:00 gesetzt.

format

Ein Zeichenfolgeliteral, das das Format des timestamp-Werts definiert. Formate, die eine Zeitzone (TZ, tz oder OF) enthalten, werden als Eingabe nicht unterstützt. Für gültige Zeitstempelformate vgl. Datum-/Uhrzeit-Formatzeichenfolgen.

is_strict

Ein optionaler boolescher Wert, der angibt, ob ein Fehler zurückgegeben wird, wenn ein Eingabezeitstempelwert außerhalb des zulässigen Bereichs liegt. Wenn is_strict auf TRUE gesetzt wird, wird ein Fehler zurückgegeben, wenn ein Wert außerhalb des zulässigen Bereichs liegt. Wenn is_strict auf FALSE gesetzt wird, was die Standardeinstellung ist, sind Überlaufwerte zulässig.

Rückgabetyp

TIMESTAMPTZ

Beispiele

Das folgende Beispiel zeigt die Verwendung der Funktion TO_TIMESTAMP zur Konvertierung einer TIMESTAMP-Zeichenfolge in einen TIMESTAMPTZ.

select sysdate, to_timestamp(sysdate, 'YYYY-MM-DD HH24:MI:SS') as second; timestamp | second -------------------------- ---------------------- 2021-04-05 19:27:53.281812 | 2021-04-05 19:27:53+00

Es ist möglich, den TO_TIMESTAMP-Teil eines Datums zu übergeben. Die übrigen Datumsteile werden auf die Standardwerte gesetzt. Die Uhrzeit ist in der Ausgabe enthalten:

SELECT TO_TIMESTAMP('2017','YYYY'); to_timestamp -------------------------- 2017-01-01 00:00:00+00

Die folgende SQL-Anweisung konvertiert die Zeichenfolge '2011-12-18 24:38:15' in einen TIMESTAMPTZ-Wert. Das Ergebnis ist ein TIMESTAMPTZ-Wert, der auf den nächsten Tag fällt, da die Anzahl der Stunden 24 übersteigt:

SELECT TO_TIMESTAMP('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS'); to_timestamp ---------------------- 2011-12-19 00:38:15+00

Die folgende SQL-Anweisung konvertiert die Zeichenfolge '2011-12-18 24:38:15' in einen TIMESTAMPTZ-Wert. Das Ergebnis ist ein Fehler, da der Zeitwert im Zeitstempel 24 Stunden übersteigt:

SELECT TO_TIMESTAMP('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS', TRUE); ERROR: date/time field time value out of range: 24:38:15.0