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
Operator + (Verkettung)
Verkettet ein DATE mit einer TIME oder TIMETZ auf beiden Seiten des Pluszeichens (+) und gibt einen TIMESTAMP oder TIMESTAMPTZ zurück.
Syntax
date + {time | timetz}
Die Reihenfolge der Argumente kann umgekehrt werden. Beispiel: time + date.
Argumente
- date
-
Eine Spalte vom Datentyp
DATEoder ein Ausdruck, der implizit zu einemDATE-Typ ausgewertet wird. - time
-
Eine Spalte vom Datentyp
TIMEoder ein Ausdruck, der implizit zu einemTIME-Typ ausgewertet wird. - timetz
-
Eine Spalte vom Datentyp
TIMETZoder ein Ausdruck, der implizit zu einemTIMETZ-Typ ausgewertet wird.
Rückgabetyp
TIMESTAMP, wenn die Eingabe date + time ist.
TIMESTAMPTZ, wenn die Eingabe date + timetz ist.
Beispiele
Beispieleinrichtung
Verwenden Sie den folgenden Befehl, um die in den Beispielen verwendeten Tabellen TIME_TEST und TIMETZ_TEST einzurichten.
create table time_test(time_val time); insert into time_test values ('20:00:00'), ('00:00:00.5550'), ('00:58:00'); create table timetz_test(timetz_val timetz); insert into timetz_test values ('04:00:00+00'), ('00:00:00.5550+00'), ('05:58:00+00');
Beispiele mit einer Zeitspalte
Die folgende Beispieltabelle TIME_TEST enthält eine Spalte TIME_VAL (Typ TIME) mit drei eingefügten Werten.
select time_val from time_test;time_val --------------------- 20:00:00 00:00:00.5550 00:58:00
Im folgenden Beispiel werden ein Datumsliteral und eine TIME_VAL-Spalte verkettet.
select date '2000-01-02' + time_val as ts from time_test;ts --------------------- 2000-01-02 20:00:00 2000-01-02 00:00:00.5550 2000-01-02 00:58:00
Im folgenden Beispiel werden ein Datumsliteral und eine Zeitspalte verkettet.
select date '2000-01-01' + time '20:00:00' as ts;ts --------------------- 2000-01-01 20:00:00
Im folgenden Beispiel werden ein Zeit- und ein Datumsliteral verkettet.
select time '20:00:00' + date '2000-01-01' as ts;ts --------------------- 2000-01-01 20:00:00
Beispiele mit einer TIMETZ-Spalte
Die folgende Beispieltabelle TIMETZ_TEST enthält eine Spalte TIMETZ_VAL (Typ TIMETZ) mit drei eingefügten Werten.
select timetz_val from timetz_test;timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00
Im folgenden Beispiel werden ein Datumsliteral und eine TIMETZ_VAL-Spalte verkettet.
select date '2000-01-01' + timetz_val as ts from timetz_test;ts --------------------- 2000-01-01 04:00:00+00 2000-01-01 00:00:00.5550+00 2000-01-01 05:58:00+00
Im folgenden Beispiel werden eine TIMETZ_VAL-Spalte und ein Datumsliteral verkettet.
select timetz_val + date '2000-01-01' as ts from timetz_test;ts --------------------- 2000-01-01 04:00:00+00 2000-01-01 00:00:00.5550+00 2000-01-01 05:58:00+00
Im folgenden Beispiel werden ein DATE-Literal und TIMETZ-Literal verkettet. Das Beispiel gibt einen TIMESTAMPTZ zurück, der standardmäßig in der Zeitzone UTC liegt. UTC liegt 8 Stunden vor PST, das Ergebnis liegt also 8 Stunden vor der Eingabezeit.
select date '2000-01-01' + timetz '20:00:00 PST' as ts;ts ------------------------ 2000-01-02 04:00:00+00