La función JUSTIFY_DAYS en PostgreSQL es una herramienta útil para trabajar con intervalos de tiempo, ya que permite convertir días en meses basándonos en una regla estándar: cada 30 días se considera un mes. Esto es especialmente práctico al manejar intervalos que contienen grandes cantidades de días y necesitas expresarlos en una unidad más manejable o significativa, como meses.
Como parte de las funciones de fecha en PostgreSQL, JUSTIFY_DAYS es ideal para simplificar cálculos de tiempo y normalizar intervalos. Por ejemplo, si tienes un intervalo de 90 días, esta función lo ajustará automáticamente a 3 meses, facilitando su comprensión y presentación. Esto es particularmente útil en reportes, cálculos financieros o cualquier aplicación que requiera representar intervalos de tiempo de forma más clara.
En este artículo, primero te mostraré la sintaxis básica de JUSTIFY_DAYS, y luego analizaremos ejemplos prácticos para que comprendas cómo implementarla en diferentes escenarios de uso.
Para más información, puedes consultar la documentación oficial de la función JUSTIFY_DAYS en PostgreSQL.
Sintaxis
La sintaxis para utilizar la función JUSTIFY_DAYS en PostgreSQL es la siguiente:
justify_days(interval)
Interval debe ser el intervalo que quieres representar en meses.
Meses enteros
Si tu intervalo es 30 o un múltiplo de 30 te devolverá un número de meses entero:
SELECT justify_days(interval '30 days');

Meses parciales
Si tu intervalo es mayor de 30 días, pero no es un múltiplo de 30 te devolverá un número de meses con días:
SELECT justify_days(interval '66 days');

Meses incompletos
Si tu intervalo es menor de 30 días, obtendremos el número de días:
SELECT justify_days(interval '15 days');

Intervalos con horas
Si tu intervalo además de lo visto hasta ahora tiene horas, se mostrará de la siguiente forma:
SELECT justify_days(interval '66 days 30 minutes');
