Función JUSTIFY_INTERVAL en PostgreSQL

La función JUSTIFY_INTERVAL en PostgreSQL es una herramienta avanzada para trabajar con intervalos de tiempo, ya que permite ajustar intervalos de forma más natural y legible. Internamente, utiliza las funciones JUSTIFY_DAYS y JUSTIFY_HOURS para convertir horas en días (cada 24 horas es un día) y días en meses (cada 30 días es un mes), normalizando así los intervalos para que reflejen una representación más lógica y comprensible.

Como parte de las funciones de fecha en PostgreSQL, JUSTIFY_INTERVAL es especialmente útil cuando manejas intervalos complejos que necesitan un formato simplificado. Por ejemplo, si tienes un intervalo de 50 horas y 40 días, esta función ajustará automáticamente estos valores para representar 2 días y 10 horas, lo que facilita su interpretación en reportes y análisis.

En este artículo, primero exploraremos la sintaxis básica de JUSTIFY_INTERVAL, y luego analizaremos ejemplos prácticos para que comprendas cómo aplicarla en diferentes contextos.

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

Sintaxis

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

justify_hours(interval)

Interval debe ser el intervalo que quieres ajustar.

Ejemplo

Si tu intervalo son 2 meses y -6 horas nos devolverá 1 mes y 18 horas:

SELECT justify_interval(interval '2 mon -6 hours');
Función JUSTIFY_INTERVAL en PostgreSQL

Diferencia entre funciones JUSTIFY

En un primer momento, podrías pensar que la función justify_interval y las funciones justify_hours y justify_days realizan la misma función, pero no es así. Veamos un ejemplo:

SELECT 	justify_interval(interval '2 mon -6 hours'),
		justify_hours(interval '2 mon -6 hours'),
		justify_days(interval '2 mon -6 hours');

Escribir un comentario