Funciones de fecha y hora - Amazon Redshift

Funciones de fecha y hora

En esta sección, puede encontrar información acerca de las funciones escalares de fecha y hora compatibles con Amazon Redshift.

Resumen de las funciones de fecha y hora

Función Sintaxis Devuelve
+ Operador (concatenación)

Concatena una fecha a una hora a cada lado del símbolo + y devuelve TIMESTAMP o TIMESTAMPTZ.

date + time TIMESTAMP o TIMESTAMPZ
ADD_MONTHS

Agrega la cantidad de meses especificada a una fecha o marca temporal.

ADD_MONTHS ({date|timestamp}, integer) TIMESTAMP
AT TIME ZONE

Especifica la zona horaria que debe usarse con una expresión TIMESTAMP o TIMESTAMPTZ.

AT TIME ZONE 'timezone' TIMESTAMP o TIMESTAMPZ
CONVERT_TIMEZONE

Convierte una marca temporal de una zona horaria a otra.

CONVERT_TIMEZONE (['timezone',] 'timezone', timestamp) TIMESTAMP
CURRENT_DATE

Devuelve una fecha en la zona horaria de la sesión actual (que es UTC de manera predeterminada) para el comienzo de la transacción actual.

CURRENT_DATE DATE
DATE_CMP

Compara dos fechas y devuelve 0 si son idénticas, 1 si date1 es posterior y -1 si date2 es posterior.

DATE_CMP (date1, date2) INTEGER
DATE_CMP_TIMESTAMP

Compara una fecha y una hora, y devuelve 0 si los valores son idénticos, 1 si date es posterior y -1 si timestamp es posterior.

DATE_CMP_TIMESTAMP (date, timestamp) INTEGER
DATE_CMP_TIMESTAMPTZ

Compara una fecha y una marca temporal con una zona horaria, y devuelve 0 si los valores son idénticos, 1 si date es posterior y -1 si timestamptz es posterior.

DATE_CMP_TIMESTAMPTZ (date, timestamptz) INTEGER
DATE_PART_YEAR

Extrae el año de una fecha.

DATE_PART_YEAR (date) INTEGER
DATEADD

Aumenta una fecha o una hora según un intervalo especificado.

DATEADD (datepart, interval, {date|time|timetz|timestamp}) TIMESTAMP o TIME o TIMETZ
DATEDIFF

Devuelve la diferencia entre dos fechas u horas para una parte de fecha dada, como un día o mes.

DATEDIFF (datepart, {date|time|timetz|timestamp}, {date|time|timetz|timestamp}) BIGINT
DATE_PART

Extrae el valor de la parte de una fecha a partir de una fecha u hora.

DATE_PART (datepart, {date|timestamp}) DOUBLE
DATE_TRUNC

Trunca una marca temporal en función de una parte de fecha.

DATE_TRUNC ('datepart', timestamp) TIMESTAMP
EXTRACT

Extrae una parte de una fecha o una hora a partir de timestamp, timestamptz, time o timetz.

EXTRACT (parte de fecha FROM origen) INTEGER or DOUBLE
GETDATE

Devuelve la fecha y hora actual en la zona horaria de la sesión actual (que es UTC de manera predeterminada). Los paréntesis son obligatorios.

GETDATE() TIMESTAMP
INTERVAL_CMP

Compara dos intervalos y devuelve 0 si son iguales, 1 si interval1 es posterior y -1 si interval2 es posterior.

INTERVAL_CMP (interval1, interval2) INTEGER
LAST_DAY

Devuelve la fecha del último día del mes que contiene el valor de date (fecha).

LAST_DAY(date) DATE
MONTHS_BETWEEN

Devuelve la cantidad de meses que hay entre dos fechas.

MONTHS_BETWEEN (date, date) FLOAT8
NEXT_DAY

Devuelve la fecha de la primera instancia de day (día) posterior a date (fecha).

NEXT_DAY (date, day) DATE
SYSDATE

Devuelve la fecha y hora según la zona horaria UTC para el comienzo de la transacción actual.

SYSDATE TIMESTAMP
TIMEOFDAY

Devuelve el día, la fecha y la hora actuales en la zona horaria de la sesión actual (que es UTC de manera predeterminada) como un valor de cadena.

TIMEOFDAY() VARCHAR
TIMESTAMP_CMP

Compara dos marcas temporales y devuelve 0 si son iguales, 1 si timestamp1 (marca_temporal1) es posterior y -1 si timestamp2 (marca_temporal2) es posterior.

TIMESTAMP_CMP (timestamp1, timestamp2) INTEGER
TIMESTAMP_CMP_DATE

Compara una marca temporal con una fecha y devuelve 0 si los valores son idénticos, 1 si timestamp es posterior y -1 si date es posterior.

TIMESTAMP_CMP_DATE (timestamp, date) INTEGER
TIMESTAMP_CMP_TIMESTAMPTZ

Compara una marca temporal y una marca temporal con zona horaria, y devuelve 0 si los valores son iguales, 1 si timestamp es posterior y -1 si timestamptz es posterior.

TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) INTEGER
TIMESTAMPTZ_CMP

Compara dos marcas temporales con valores de zona horaria y devuelve 0 si los valores son iguales, 1 si timestamptz1 es posterior y -1 si timestamptz2 es posterior.

TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) INTEGER
TIMESTAMPTZ_CMP_DATE

Compara el valor de una marca temporal con zona horaria y una fecha, y devuelve 0 si los valores son iguales, 1 si timestamptz es posterior y -1 si date es posterior.

TIMESTAMPTZ_CMP_DATE (timestamptz, date) INTEGER
TIMESTAMPTZ_CMP_TIMESTAMP

Compara una marca temporal con zona horaria y una marca temporal, y devuelve 0 si los valores son iguales, 1 si timestamptz es posterior y -1 si timestamp es posterior.

TIMESTAMPTZ_CMP_TIMESTAMP (timestamptz, timestamp) INTEGER
TIMEZONE

Devuelve una marca temporal para el valor de marca temporal y zona horaria especificados.

TIMEZONE ('timezone' { timestamp | timestamptz ) TIMESTAMP o TIMESTAMPTZ
TO_TIMESTAMP

Devuelve una marca temporal con zona horaria para el formato de marca temporal y zona horaria especificado.

TO_TIMESTAMP ('timestamp', 'format') TIMESTAMPTZ
TRUNC

Trunca una marca temporal y devuelve una fecha.

TRUNC(timestamp) DATE
nota

Los segundos de salto no se consideran en los cálculos de tiempo transcurrido.

Funciones de fecha y hora en transacciones

Cuando se ejecutan las siguientes funciones dentro de un bloque de transacción (BEGIN ... END), la función devuelve la fecha u hora de inicio de la transacción actual, no de la instrucción actual.

  • SYSDATE

  • TIMESTAMP

  • CURRENT_DATE

Las siguientes funciones siempre devuelven la fecha u hora de comienzo de la instrucción actual, incluso cuando se encuentran dentro de un bloque de transacción.

  • GETDATE

  • TIMEOFDAY

Funciones específicas del nodo principal obsoletas

Las siguientes funciones de fecha quedan obsoletas porque se ejecutan únicamente en el nodo principal. Para obtener más información, consulte Funciones específicas del nodo principal.