

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Funciones de fecha y hora
<a name="Date_functions_header"></a>

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

**Topics**
+ [Resumen de las funciones de fecha y hora](#date-functions-summary)
+ [Funciones de fecha y hora en transacciones](#date-functions-transactions)
+ [Funciones específicas del nodo principal obsoletas](#date-functions-deprecated)
+ [\+ Operador (concatenación)](r_DATE-CONCATENATE_function.md)
+ [Función ADD\_MONTHS](r_ADD_MONTHS.md)
+ [Función AT TIME ZONE](r_AT_TIME_ZONE.md)
+ [Función CONVERT\_TIMEZONE](CONVERT_TIMEZONE.md)
+ [Función CURRENT\_DATE](r_CURRENT_DATE_function.md)
+ [Función DATE\_CMP](r_DATE_CMP.md)
+ [Función DATE\_CMP\_TIMESTAMP](r_DATE_CMP_TIMESTAMP.md)
+ [Función DATE\_CMP\_TIMESTAMPTZ](r_DATE_CMP_TIMESTAMPTZ.md)
+ [Función DATEADD](r_DATEADD_function.md)
+ [Función DATEDIFF](r_DATEDIFF_function.md)
+ [Función DATE\_PART](r_DATE_PART_function.md)
+ [Función DATE\_PART\_YEAR](r_DATE_PART_YEAR.md)
+ [Función DATE\_TRUNC](r_DATE_TRUNC.md)
+ [Función EXTRACT](r_EXTRACT_function.md)
+ [Función GETDATE](r_GETDATE.md)
+ [Función INTERVAL\_CMP](r_INTERVAL_CMP.md)
+ [Función LAST\_DAY](r_LAST_DAY.md)
+ [Función MONTHS\_BETWEEN](r_MONTHS_BETWEEN_function.md)
+ [Función NEXT\_DAY](r_NEXT_DAY.md)
+ [Función SYSDATE](r_SYSDATE.md)
+ [Función TIMEOFDAY](r_TIMEOFDAY_function.md)
+ [Función TIMESTAMP\_CMP](r_TIMESTAMP_CMP.md)
+ [Función TIMESTAMP\_CMP\_DATE](r_TIMESTAMP_CMP_DATE.md)
+ [Función TIMESTAMP\_CMP\_TIMESTAMPTZ](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)
+ [Función TIMESTAMPTZ\_CMP](r_TIMESTAMPTZ_CMP.md)
+ [Función TIMESTAMPTZ\_CMP\_DATE](r_TIMESTAMPTZ_CMP_DATE.md)
+ [Función TIMESTAMPTZ\_CMP\_TIMESTAMP](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)
+ [Función TIMEZONE](r_TIMEZONE.md)
+ [Función TO\_TIMESTAMP](r_TO_TIMESTAMP.md)
+ [Función TRUNC](r_TRUNC_date.md)
+ [Partes de fecha para funciones de fecha o marca temporal](r_Dateparts_for_datetime_functions.md)

## Resumen de las funciones de fecha y hora
<a name="date-functions-summary"></a>


| Función | Sintaxis | Devuelve | 
| --- | --- | --- | 
| [\+ Operador (concatenación)](r_DATE-CONCATENATE_function.md)Concatena una fecha a una hora a cada lado del símbolo \+ y devuelve TIMESTAMP o TIMESTAMPTZ.  | date \+ time | TIMESTAMP o TIMESTAMPZ | 
| [ADD\_MONTHS](r_ADD_MONTHS.md)Agrega la cantidad de meses especificada a una fecha o marca temporal. |  ADD\_MONTHS ({date\|timestamp}, integer) | TIMESTAMP | 
| [AT TIME ZONE](r_AT_TIME_ZONE.md)Especifica la zona horaria que debe usarse con una expresión TIMESTAMP o TIMESTAMPTZ. |  AT TIME ZONE 'timezone' | TIMESTAMP o TIMESTAMPZ | 
| [CONVERT\_TIMEZONE](CONVERT_TIMEZONE.md)Convierte una marca temporal de una zona horaria a otra. | CONVERT\_TIMEZONE (['timezone',] 'timezone', timestamp) | TIMESTAMP | 
| [CURRENT\_DATE](r_CURRENT_DATE_function.md)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](r_DATE_CMP.md)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](r_DATE_CMP_TIMESTAMP.md)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](r_DATE_CMP_TIMESTAMPTZ.md)Compara una fecha y una marca de tiempo 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](r_DATE_PART_YEAR.md)Extrae el año de una fecha. | DATE\_PART\_YEAR (date) | INTEGER | 
| [DATEADD](r_DATEADD_function.md)Aumenta una fecha o una hora según un intervalo especificado. | DATEADD (datepart, interval, {date\|time\|timetz\|timestamp}) | TIMESTAMP o TIME o TIMETZ | 
| [DATEDIFF](r_DATEDIFF_function.md)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](r_DATE_PART_function.md)Extrae el valor de la parte de una fecha a partir de una fecha u hora. | DATE\_PART (datepart, {date\|timestamp}) | DOUBLE | 
| [DATE\_TRUNC](r_DATE_TRUNC.md)Trunca una marca temporal en función de una parte de fecha. | DATE\_TRUNC ('datepart', timestamp) | TIMESTAMP | 
| [EXTRACT](r_EXTRACT_function.md)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](r_GETDATE.md)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](r_INTERVAL_CMP.md)Compara dos intervalos y devuelve `0` si los intervalos son iguales, `1` si *interval1* es posterior, y `-1` si *interval2* es posterior. | INTERVAL\_CMP (interval1, interval2) | INTEGER | 
| [LAST\_DAY](r_LAST_DAY.md)Devuelve la fecha del último día del mes que contiene el valor de *date (fecha)*. | LAST\_DAY(date) | DATE | 
| [MONTHS\_BETWEEN](r_MONTHS_BETWEEN_function.md)Devuelve la cantidad de meses que hay entre dos fechas. | MONTHS\_BETWEEN (date, date) | FLOAT8 | 
| [NEXT\_DAY](r_NEXT_DAY.md)Devuelve la fecha de la primera instancia de *day (día)* posterior a *date (fecha)*. | NEXT\_DAY (date, day) | DATE | 
| [SYSDATE](r_SYSDATE.md)Devuelve la fecha y hora según la zona horaria UTC para el comienzo de la transacción actual. | SYSDATE | TIMESTAMP | 
| [TIMEOFDAY](r_TIMEOFDAY_function.md)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](r_TIMESTAMP_CMP.md)Compara dos marcas de tiempo y devuelve `0` si son iguales, `1` si *timestamp1* es posterior y `-1` si *timestamp2* es posterior. | TIMESTAMP\_CMP (timestamp1, timestamp2) | INTEGER | 
| [TIMESTAMP\_CMP\_DATE](r_TIMESTAMP_CMP_DATE.md)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](r_TIMESTAMP_CMP_TIMESTAMPTZ.md)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](r_TIMESTAMPTZ_CMP.md)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](r_TIMESTAMPTZ_CMP_DATE.md)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](r_TIMESTAMPTZ_CMP_TIMESTAMP.md)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](r_TIMEZONE.md)Devuelve una marca temporal para el valor de marca temporal y zona horaria especificados. | TIMEZONE ('timezone' { timestamp \| timestamptz ) | TIMESTAMP o TIMESTAMPTZ | 
| [TO\_TIMESTAMP](r_TO_TIMESTAMP.md)Devuelve una marca temporal con zona horaria para el formato de marca temporal y zona horaria especificado. | TO\_TIMESTAMP ('timestamp', 'format') | TIMESTAMPTZ | 
| [TRUNC](r_TRUNC_date.md)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
<a name="date-functions-transactions"></a>

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
<a name="date-functions-deprecated"></a>

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](c_SQL_functions_leader_node_only.md).
+ AGE. En su lugar, use [Función DATEDIFF](r_DATEDIFF_function.md).
+ CURRENT\_TIME. En su lugar, use [Función GETDATE](r_GETDATE.md) o [SYSDATE](r_SYSDATE.md). 
+ CURRENT\_TIMESTAMP. En su lugar, use [Función GETDATE](r_GETDATE.md) o [SYSDATE](r_SYSDATE.md).
+ LOCALTIME. En su lugar, use [Función GETDATE](r_GETDATE.md) o [SYSDATE](r_SYSDATE.md).
+ LOCALTIMESTAMP. En su lugar, use [Función GETDATE](r_GETDATE.md) o [SYSDATE](r_SYSDATE.md).
+ ISFINITE 
+ NOW. En su lugar, use [Función GETDATE](r_GETDATE.md) o [SYSDATE](r_SYSDATE.md). Si utiliza la función NOW en una vista materializada, se establece en la marca de tiempo de la creación de la vista materializada y no en la marca de tiempo actual. 