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.
Temas
- Resumen de las funciones de fecha y hora
- Funciones de fecha y hora en transacciones
- Funciones específicas del nodo principal obsoletas
- + Operador (concatenación)
- Función ADD_MONTHS
- Función AT TIME ZONE
- Función CONVERT_TIMEZONE
- Función CURRENT_DATE
- Función DATE_CMP
- Función DATE_CMP_TIMESTAMP
- Función DATE_CMP_TIMESTAMPTZ
- Función DATEADD
- Función DATEDIFF
- Función DATE_PART
- Función DATE_PART_YEAR
- Función DATE_TRUNC
- Función EXTRACT
- Función GETDATE
- Función INTERVAL_CMP
- Función LAST_DAY
- Función MONTHS_BETWEEN
- Función NEXT_DAY
- Función SYSDATE
- Función TIMEOFDAY
- Función TIMESTAMP_CMP
- Función TIMESTAMP_CMP_DATE
- Función TIMESTAMP_CMP_TIMESTAMPTZ
- Función TIMESTAMPTZ_CMP
- Función TIMESTAMPTZ_CMP_DATE
- Función TIMESTAMPTZ_CMP_TIMESTAMP
- Función TIMEZONE
- Función TO_TIMESTAMP
- Función TRUNC
- Partes de fecha para funciones de fecha o marca temporal
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 |
DATE_CMP (date1, date2) | INTEGER |
DATE_CMP_TIMESTAMP Compara una fecha y una hora, y devuelve |
DATE_CMP_TIMESTAMP (date, timestamp) | INTEGER |
DATE_CMP_TIMESTAMPTZ Compara una fecha y una marca temporal con una zona horaria, y devuelve |
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 |
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 |
TIMESTAMP_CMP (timestamp1, timestamp2) | INTEGER |
TIMESTAMP_CMP_DATE Compara una marca temporal con una fecha y devuelve |
TIMESTAMP_CMP_DATE (timestamp, date) | INTEGER |
TIMESTAMP_CMP_TIMESTAMPTZ Compara una marca temporal y una marca temporal con zona horaria, y devuelve |
TIMESTAMP_CMP_TIMESTAMPTZ (timestamp, timestamptz) | INTEGER |
TIMESTAMPTZ_CMP Compara dos marcas temporales con valores de zona horaria y devuelve |
TIMESTAMPTZ_CMP (timestamptz1, timestamptz2) | INTEGER |
TIMESTAMPTZ_CMP_DATE Compara el valor de una marca temporal con zona horaria y una fecha, y devuelve |
TIMESTAMPTZ_CMP_DATE (timestamptz, date) | INTEGER |
TIMESTAMPTZ_CMP_TIMESTAMP Compara una marca temporal con zona horaria y una marca temporal, y devuelve |
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.
-
AGE. En su lugar, use Función DATEDIFF.
-
CURRENT_TIME. En su lugar, use Función GETDATE o SYSDATE.
-
CURRENT_TIMESTAMP. En su lugar, use Función GETDATE o SYSDATE.
-
LOCALTIME. En su lugar, use Función GETDATE o SYSDATE.
-
LOCALTIMESTAMP. En su lugar, use Función GETDATE o SYSDATE.
-
ISFINITE
-
NOW. En su lugar, use Función GETDATE o SYSDATE.