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 einemDATE
-Typ ausgewertet wird. - variieren
-
Eine Spalte vom Datentyp
TIME
oder ein Ausdruck, der implizit zu einemTIME
-Typ ausgewertet wird. - timetz
-
Eine Spalte vom Datentyp
TIMETZ
oder 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