+ Operador (concatenación) - Amazon Redshift

Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del 1 de noviembre de 2025. Si desea utilizar las UDF de Python, créelas antes de esa fecha. Las UDF de Python existentes seguirán funcionando con normalidad. Para obtener más información, consulte la publicación del blog.

+ Operador (concatenación)

Concatena una DATE a una TIME o TIMETZ a ambos lados del símbolo + y devuelve una TIMESTAMP o TIMESTAMPTZ.

Sintaxis

date + {time | timetz}

El orden de los argumentos se puede invertir. Por ejemplo, time + date.

Argumentos

date

Una columna de tipo de datos DATE o una expresión que toma implícitamente el valor de un tipo DATE.

time

Una columna de tipo de datos TIME o una expresión que toma implícitamente el valor de un tipo TIME.

timetz

Una columna de tipo de datos TIMETZ o una expresión que toma implícitamente el valor de un tipo TIMETZ.

Tipo de retorno

TIMESTAMP si la entrada es date + time.

TIMESTAMPTZ si la entrada es date + timetz.

Ejemplos

Configuración de ejemplo

Para configurar las tablas TIME_TEST y TIMETZ_TEST utilizadas en los ejemplos, use el siguiente comando.

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');

Ejemplos con una columna TIME

La siguiente tabla de ejemplo, TIME_TEST, tiene una columna TIME_VAL (tipo TIME) con tres valores insertados.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

En el siguiente ejemplo, se concatena un literal de fecha y una columna 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

En el siguiente ejemplo, se concatena un literal de fecha y un literal de hora.

select date '2000-01-01' + time '20:00:00' as ts; ts --------------------- 2000-01-01 20:00:00

En el siguiente ejemplo se concatenan un literal de hora y un literal de fecha.

select time '20:00:00' + date '2000-01-01' as ts; ts --------------------- 2000-01-01 20:00:00

Ejemplos con una columna TIMETZ

La siguiente tabla de ejemplo, TIMETZ_TEST, tiene una columna TIMETZ_VAL (tipo TIMETZ) con tres valores insertados.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

En el siguiente ejemplo, se concatena un literal de fecha y una columna 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

En el siguiente ejemplo se concatenan una columna TIMETZ_VAL y un literal de fecha.

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

En el siguiente ejemplo, se concatena un literal de DATE y un literal de TIMETZ. El ejemplo devuelve un TIMESTAMPTZ que está en la zona horaria UTC de forma predeterminada. UTC está 8 horas por delante de PST, por lo que el resultado está 8 horas por delante de la hora de entrada.

select date '2000-01-01' + timetz '20:00:00 PST' as ts; ts ------------------------ 2000-01-02 04:00:00+00