Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Operatore + (concatenamento)
Concatena una DATA a un TIME o TIMETZ su entrambi i lati del simbolo + e restituisce un TIMESTAMPT o TIMESTAMPTZ.
Sintassi
date + {time | timetz}
L'ordine degli argomenti può essere invertito. Ad esempio, tempo + data.
Argomenti
- data
-
Una colonna di tipo di dati
DATE
o un'espressione che restituisce un tipoDATE
. - time
-
Una colonna di tipo di dati
TIME
o un'espressione che restituisce un tipoTIME
. - timetz
-
Una colonna di tipo di dati
TIMETZ
o un'espressione che restituisce un tipoTIMETZ
.
Tipo restituito
TIMESTAMP se l'input è date + time.
TIMESTAMPTZ se l'input è date + timetz.
Esempi
Configurazione di esempio
Per impostare le tabelle TIME_TEST e TIMETZ_TEST utilizzate negli esempi, utilizzare il comando seguente.
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');
Esempi con una colonna TIME
La tabella di esempio seguente TIME_TEST contiene una colonna TIME_VAL (tipo TIME) con tre valori inseriti.
select time_val from time_test;
time_val --------------------- 20:00:00 00:00:00.5550 00:58:00
Nell'esempio seguente vengono concatenati una data letterale e una colonna TIME_VAL.
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
Nell'esempio seguente vengono concatenati un valore letterale di data e un valore letterale di ora.
select date '2000-01-01' + time '20:00:00' as ts;
ts --------------------- 2000-01-01 20:00:00
Nell'esempio seguente vengono concatenati un valore letterale di data e un valore letterale di ora.
select time '20:00:00' + date '2000-01-01' as ts;
ts --------------------- 2000-01-01 20:00:00
Esempi con una colonna TIMETZ
La tabella di esempio seguente TIMETZ_TEST contiene una colonna TIMETZ_VAL (tipo TIMETZ) con tre valori inseriti.
select timetz_val from timetz_test;
timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00
Nell'esempio seguente vengono concatenati un valore letterale di data e una colonna TIMETZ_VAL.
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
Nell'esempio seguente vengono concatenati un valore letterale di data e una colonna TIMETZ_VAL.
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
Nell'esempio seguente vengono concatenati un valore letterale di DATE e un valore letterale TIMETZ. L'esempio restituisce un TIMESTAMPTZ che si trova nel fuso orario UTC per impostazione predefinita. L'UTC è 8 ore avanti rispetto al PST, quindi il risultato è in anticipo di 8 ore rispetto all'ora di immissione.
select date '2000-01-01' + timetz '20:00:00 PST' as ts;
ts ------------------------ 2000-01-02 04:00:00+00