Operatore + (concatenamento) - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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.

Arguments (Argomenti)

data

Una colonna di tipo di dati DATE o un'espressione che restituisce un tipo DATE.

time

Una colonna di tipo di dati TIME o un'espressione che restituisce un tipo TIME.

timetz

Una colonna di tipo di dati TIMETZ o un'espressione che restituisce un tipo TIMETZ.

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