Función AGE en PostgreSQL

La función AGE en PostgreSQL es una herramienta muy útil para calcular la diferencia entre dos fechas, devolviendo el resultado en forma de años, meses y días. Esta función acepta como argumentos dos valores de tipo TIMESTAMP y realiza la operación restando el segundo argumento del primero. El resultado es un intervalo que muestra claramente la diferencia entre las fechas, desglosado en unidades temporales.

Como parte de las funciones de fecha en PostgreSQL, AGE es ideal para cálculos relacionados con la antigüedad, duraciones o cualquier análisis temporal que requiera un formato detallado y legible. Su flexibilidad la convierte en una opción imprescindible para consultas que manejan intervalos complejos o que necesitan desglosar la diferencia entre fechas en partes específicas.

En este artículo, primero te mostraré la sintaxis básica de AGE, y luego analizaremos ejemplos prácticos que ilustran cómo aprovechar esta función para resolver problemas comunes en el manejo de datos temporales.

Para más información, puedes consultar la documentación oficial de la función AGE en PostgreSQL.

Tabla de Contenidos ocultar

Sintaxis

La sintaxis para utilizar la función AGE en PostgreSQL es la siguiente:

AGE(timestamp,timestamp);

Ejemplo

SELECT AGE('2021-12-11','1986-09-26');
Función AGE en PostgreSQL

Si quisieras que el primer argumento fuese la fecha actual, cambiaría un poco la sintaxis:

SELECT AGE(timestamp '1986-09-26') AGE;

2 comentarios en “Función AGE en PostgreSQL

    1. Tal vez no sea la mejor solución, pero puede hacerse de la siguiente manera:

      create or replace function public.interval_spanish(interval)
      returns character varying
      language ‘sql’
      as $body$
      select replace(
      replace(
      replace(
      replace(
      $1::varchar,
      ‘year’,’año’),
      ‘mons’,’meses’),
      ‘mon’,’mes’),
      ‘day’,’día’);
      $body$;

      select interval_spanish(age(‘2020-01-01’::date))

Escribir un comentario