No PostgreSQL, o
justify_days()
função permite ajustar um intervalo valor, para que os períodos de 30 dias sejam representados como meses. Por exemplo, se você tiver um intervalo de, digamos, 30 dias ,
justify_days()
irá devolvê-lo como 1 seg . Sintaxe
A função tem a seguinte sintaxe:
justify_days(interval)
Onde
interval
é o intervalo que você deseja representar em meses. Exemplo
Aqui está um exemplo básico para demonstrar.
SELECT justify_days(interval '30 days');
Resultado:
1 mon
Meses Parciais
Aqui está um exemplo do que acontece quando seu intervalo não é um múltiplo exato de 30 dias.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Resultado (usando saída vertical):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
Neste exemplo eu usei
\x
para alternar para a exibição expandida, que exibe os resultados usando a saída vertical. Isso facilita um pouco a leitura dos resultados. Menos de um mês
Se o intervalo for inferior a 30 dias, ele permanecerá em dias.
SELECT justify_days(interval '29 days');
Resultado (usando saída vertical):
29 days
Incluindo Minutos
Neste exemplo, o intervalo inclui uma parte de minutos.
SELECT justify_days(interval '40 days 30 minutes');
Resultado (usando saída vertical):
1 mon 10 days 00:30:00
Portanto, neste caso, acabamos com um valor de tempo sendo anexado ao resultado.