In PostgreSQL, il justify_days()
la funzione ti consente di regolare un intervallo valore, in modo che i periodi di 30 giorni siano rappresentati come mesi.
Ad esempio, se hai un intervallo, diciamo, 30 giorni , justify_days()
lo restituirà come 1 mese .
Sintassi
La funzione ha la seguente sintassi:
justify_days(interval)
Dove interval
è l'intervallo che vuoi rappresentare in mesi.
Esempio
Ecco un esempio di base da dimostrare.
SELECT justify_days(interval '30 days');
Risultato:
1 mon
Mesi parziali
Ecco un esempio di cosa succede quando il tuo intervallo non è un multiplo esatto di 30 giorni.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Risultato (usando l'output verticale):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
In questo esempio ho usato \x
per passare alla visualizzazione espansa, che visualizza i risultati utilizzando l'output verticale. Ciò semplifica leggermente la lettura dei risultati.
Meno di un mese
Se l'intervallo è inferiore a 30 giorni, rimarrà in giorni.
SELECT justify_days(interval '29 days');
Risultato (usando l'output verticale):
29 days
Minuti inclusi
In questo esempio, l'intervallo include una parte dei minuti.
SELECT justify_days(interval '40 days 30 minutes');
Risultato (usando l'output verticale):
1 mon 10 days 00:30:00
Quindi, in questo caso, al risultato viene aggiunto un valore temporale.