Saltar al contenido principal
Documentos
Funciones de cadenaDesencadenaBases de datosFunciones JSONFunciones matemáticasFunciones de fechaÍndicesSintaxis básicaGestión de Tablas y Esquemas

Aritmética de FECHA PostgreSQL (-)

Las funciones aritméticas DATE de PostgreSQL te permiten realizar cálculos con valores de fecha, como encontrar la diferencia entre dos fechas. Esta funcionalidad es esencial para analizar los intervalos de tiempo, la programación y los informes basados en el tiempo.

Utilización

La función aritmética FECHA se emplea cuando necesitas calcular la diferencia entre dos fechas o restar un intervalo de una fecha. Cuando se restan dos fechas, el resultado es un intervalo, concretamente en días. Esta operación se utiliza a menudo en situaciones como el cálculo de la edad, la duración o la programación de tareas.

SELECT date1 - date2 AS interval_result;

En esta sintaxis, date1 y date2 son valores de fecha, y la operación de resta - calcula el intervalo entre ellos.

Ejemplos

1. Resta básica de fechas

SELECT '2023-10-10'::date - '2023-10-01'::date AS days_difference;

Este ejemplo calcula el número de días entre el 10 de octubre de 2023 y el 1 de octubre de 2023, dando como resultado una diferencia de 9 días.

2. Restar un intervalo

SELECT '2023-10-10'::date - INTERVAL '3 days' AS new_date;

Aquí, la operación resta 3 días al 10 de octubre de 2023, dando como resultado una nueva fecha del 7 de octubre de 2023.

3. Calcular la edad a partir de la fecha de nacimiento

SELECT CURRENT_DATE - birth_date AS age_in_days FROM users;

Este ejemplo calcula la edad en días de cada usuario de la tabla users restando birth_date de la fecha actual.

Consejos y buenas prácticas

  • Asegúrate de que los tipos de datos son correctos. Convierte siempre las cadenas al tipo date explícitamente utilizando ::date para realizar cálculos precisos.
  • Comprende los intervalos. Un intervalo representa un lapso de tiempo y puede utilizarse para restar duraciones concretas, como días, meses o años, para garantizar la claridad y la mantenibilidad.
  • Opta por FECHA_ACtual. Utiliza CURRENT_DATE para cálculos que incluyan la fecha actual, para garantizar que tus consultas sean dinámicas y estén actualizadas.
  • Conoce tus tipos de datos. Ten en cuenta las diferencias entre date, timestamp, y timestamp with time zone para evitar confusiones, ya que sólo timestamp with time zone tiene en cuenta las zonas horarias.