Operator + (Verkettung) - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

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 DATE oder ein Ausdruck, der implizit zu einem DATE-Typ ausgewertet wird.

variieren

Eine Spalte vom Datentyp TIME oder ein Ausdruck, der implizit zu einem TIME-Typ ausgewertet wird.

timetz

Eine Spalte vom Datentyp TIMETZ oder ein Ausdruck, der implizit zu einem TIMETZ-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