I PostgreSQL er justify_days()
funktionen giver dig mulighed for at justere et interval værdi, så 30-dages tidsperioder repræsenteres som måneder.
For eksempel, hvis du har et interval på f.eks. 30 dage , justify_days()
returnerer det som 1 måned .
Syntaks
Funktionen har følgende syntaks:
justify_days(interval)
Hvor interval
er det interval, du ønsker repræsenteret i måneder.
Eksempel
Her er et grundlæggende eksempel at demonstrere.
SELECT justify_days(interval '30 days');
Resultat:
1 mon
Delvise måneder
Her er et eksempel på, hvad der sker, når dit interval ikke er et nøjagtigt multiplum af 30 dage.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Resultat (ved hjælp af lodret output):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
I dette eksempel brugte jeg \x
for at skifte over til udvidet visning, som viser resultaterne ved hjælp af lodret output. Dette gør det lidt nemmere at læse resultaterne.
Mindre end en måned
Hvis intervallet er mindre end 30 dage, forbliver det i dage.
SELECT justify_days(interval '29 days');
Resultat (ved hjælp af lodret output):
29 days
Inklusive referater
I dette eksempel inkluderer intervallet en minutdel.
SELECT justify_days(interval '40 days 30 minutes');
Resultat (ved hjælp af lodret output):
1 mon 10 days 00:30:00
Så i dette tilfælde ender vi med at tilføje en tidsværdi til resultatet.