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
Datums- und Zeitfunktionen
In diesem Abschnitt finden Sie Informationen zu den skalaren Datums- und Zeitfunktionen, die Amazon Redshift unterstützt.
Zusammenfassung der Datums- und Zeitfunktionen
| Funktion | Syntax | Rückgabewert |
|---|---|---|
| Operator + (Verkettung)
Verkettet ein Datum mit einer Uhrzeit auf beiden Seiten des Pluszeichens (+) und gibt einen TIMESTAMP oder TIMESTAMPTZ zurück. |
date + time | TIMESTAMP oder TIMESTAMPZ |
| ADD_MONTHS Fügt die angegebene Anzahl von Monaten zu einem Datums- oder Zeitstempel hinzu. |
ADD_MONTHS ({date|timestamp}, integer) | TIMESTAMP |
| AT TIME ZONE Gibt an, welche Zeitzone mit dem Ausdruck TIMESTAMP oder TIMESTAMPTZ zu verwenden ist. |
AT TIME ZONE 'timezone' | TIMESTAMP oder TIMESTAMPZ |
| CONVERT_TIMEZONE Konvertiert einen Zeitstempel von einer Zeitzone zu einer anderen. |
CONVERT_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP |
| CURRENT_DATE Gibt ein Datum in der Zeitzone der aktuellen Sitzung (standardmäßig UTC) für den Beginn der aktuellen Transaktion aus. |
CURRENT_DATE | DATE |
| DATE_CMP Vergleicht zwei Datumsangaben und gibt |
DATE_CMP (date1, date2) | INTEGER |
| DATE_CMP_TIMESTAMP Vergleicht ein Datum mit einer Uhrzeit und gibt |
DATE_CMP_TIMESTAMP (date, timestamp) | INTEGER |
| DATE_CMP_TIMESTAMPTZ Vergleicht ein Datum und einen Zeitstempel mit der Zeitzone und gibt |
DATE_CMP_TIMESTAMPTZ (date, timestamptz) | INTEGER |
| DATE_PART_YEAR Extrahiert das Jahr aus einem Datum. |
DATE_PART_YEAR (date) | INTEGER |
| DATEADD Erhöht ein Datum oder eine Uhrzeit um ein bestimmtes Intervall. |
DATEADD (datepart, interval, {date|time|timetz|timestamp}) | TIMESTAMP oder TIME oder TIMETZ |
| DATEDIFF Gibt die Differenz zwischen zwei Datumsangaben oder Uhrzeiten für einen bestimmten Datumsteil, etwa einen Tag oder einen Monat, aus. |
DATEDIFF (datepart, {date|time|timetz|timestamp},
{date|time|timetz|timestamp}) |
BIGINT |
| DATE_PART Extrahiert einen Datumsteilwert aus einem Datum oder einer Uhrzeit. |
DATE_PART (datepart, {date|timestamp}) | DOUBLE |
| DATE_TRUNC Verkürzt einen Zeitstempel auf der Grundlage eines Datumsteils. |
DATE_TRUNC ('datepart', timestamp) | TIMESTAMP |
| EXTRACT Extrahiert einen Datums- oder Uhrzeitteil von einem Timestamp-, Timestamptz-, Time- oder Timetz-Wert. |
EXTRACT (datepart AUS source) | INTEGER or DOUBLE |
| GETDATE Gibt das aktuelle Datum und die aktuelle Uhrzeit in der Zeitzone der aktuellen Sitzung (standardmäßig UTC) aus. Die Klammern sind erforderlich. |
GETDATE() | TIMESTAMP |
| INTERVAL_CMP Vergleicht zwei Intervalle und gibt |
INTERVAL_CMP (interval1, interval2) | INTEGER |
| LAST_DAY Gibt das Datum des letzten Tages des Monats aus, der date enthält. |
LAST_DAY(date) | DATE |
| MONTHS_BETWEEN Gibt die Anzahl der Monate zwischen zwei Daten aus. |
MONTHS_BETWEEN (date, date) | FLOAT8 |
| NEXT_DAY Gibt das Datum der ersten Instanz von day aus, die zeitlich nach date liegt. |
NEXT_DAY (date, day) | DATE |
| SYSDATE Gibt das Datum und die Uhrzeit nach UTC für den Beginn der aktuellen Transaktion aus. |
SYSDATE | TIMESTAMP |
| TIMEOFDAY Gibt den aktuellen Wochentag, das aktuelle Datum und die aktuelle Uhrzeit in der Zeitzone der aktuellen Sitzung (standardmäßig UTC) als Zeichenfolgenwert aus. |
TIMEOFDAY() | VARCHAR |
| TIMESTAMP_CMP Vergleicht zwei Zeitstempel und gibt |
TIMESTAMP_CMP (timestamp1, timestamp2) | INTEGER |
| TIMESTAMP_CMP_DATE Vergleicht einen Zeitstempel mit einem Datum und gibt |
TIMESTAMP_CMP_DATE (timestamp, date) | INTEGER |
| TIMESTAMP_CMP_TIMESTAMPTZ Vergleicht einen Zeitstempel mit einem Zeitstempel mit Zeitzone und gibt |
TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER |
| TIMESTAMPTZ_CMP Vergleicht zwei Zeitstempel mit Zeitzone und gibt |
TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) | INTEGER |
| TIMESTAMPTZ_CMP_DATE Vergleicht den Wert eines Zeitstempels mit Zeitzone mit einem Datum und gibt |
TIMESTAMPTZ_CMP_DATE (timestamptz, date) | INTEGER |
| TIMESTAMPTZ_CMP_TIMESTAMP Vergleicht einen Zeitstempel mit Zeitzone mit einem Zeitstempel und gibt |
TIMESTAMPTZ_CMP_TIMESTAMP (timestamptz, timestamp) | INTEGER |
| TIMEZONE Gibt einen Zeitstempel für den angegebenen Wert eines Zeitstempels mit Zeitzone aus. |
TIMEZONE ('timezone' { timestamp | timestamptz ) | TIMESTAMP oder TIMESTAMPTZ |
| TO_TIMESTAMP Gibt einen Zeitstempel mit Zeitzone für das angegebene Zeitstempelformat mit Zeitzone aus. |
TO_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ |
| TRUNC Verkürzt einen Zeitstempel und gibt ein Datum aus. |
TRUNC(timestamp) | DATE |
Anmerkung
Sprungsekunden werden bei Berechnungen der verstrichenen Zeit nicht berücksichtigt.
Datums- und Zeitfunktionen in Transaktionen
Wenn Sie die folgenden Funktionen mit einem Transaktionsblock (BEGINN … END) ausführen, gibt die Funktion das Startdatum bzw. die Startzeit der aktuellen Transaktion aus, nicht den Beginn der aktuellen Anweisung.
-
SYSDATE
-
TIMESTAMP
-
CURRENT_DATE
Die folgenden Funktionen geben immer das Startdatum oder die Startzeit der aktuellen Anweisung aus, selbst wenn sie sich innerhalb eines Transaktionsblocks befinden.
-
GETDATE
-
TIMEOFDAY
Veraltete Funktionen, die ausschließlich für Führungsknoten gelten
Die folgenden Datumsfunktionen sind veraltet, da sie nur auf dem Führungsknoten ausgeführt werden. Weitere Informationen finden Sie unter Exklusive Führungsknotenfunktionen.
-
AGE. Verwenden Sie stattdessen Funktion DATEDIFF.
-
CURRENT_TIME. Verwenden Sie stattdessen Funktion GETDATE oder SYSDATE.
-
CURRENT_TIMESTAMP. Verwenden Sie stattdessen Funktion GETDATE oder SYSDATE.
-
LOCALTIME. Verwenden Sie stattdessen Funktion GETDATE oder SYSDATE.
-
LOCALTIMESTAMP. Verwenden Sie stattdessen Funktion GETDATE oder SYSDATE.
-
ISFINITE
-
NOW. Verwenden Sie stattdessen Funktion GETDATE oder SYSDATE. Wenn Sie die NOW-Funktion in einer materialisierten Ansicht verwenden, wird sie auf den Zeitstempel der Erstellung der materialisierten Ansicht anstelle des aktuellen Zeitstempels gesetzt.