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 tipoDATE
. - time
-
Una columna de tipo de datos
TIME
o una expresión que toma implícitamente el valor de un tipoTIME
. - timetz
-
Una columna de tipo de datos
TIMETZ
o una expresión que toma implícitamente el valor de un tipoTIMETZ
.
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