I PostgreSQL, justify_days()
funktionen låter dig justera ett intervall värde, så att 30-dagars tidsperioder representeras som månader.
Om du till exempel har ett intervall på 30 dagar , justify_days()
returnerar den som 1 månad .
Syntax
Funktionen har följande syntax:
justify_days(interval)
Där interval
är intervallet som du vill ha representerat i månader.
Exempel
Här är ett grundläggande exempel att visa.
SELECT justify_days(interval '30 days');
Resultat:
1 mon
Delvisa månader
Här är ett exempel på vad som händer när ditt intervall inte är en exakt multipel av 30 dagar.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Resultat (med vertikal utdata):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
I det här exemplet använde jag \x
för att växla över till utökad visning, som visar resultaten med vertikal utmatning. Detta gör det något lättare att läsa resultaten.
Mindre än en månad
Om intervallet är mindre än 30 dagar förblir det i dagar.
SELECT justify_days(interval '29 days');
Resultat (med vertikal utdata):
29 days
Inklusive protokoll
I det här exemplet inkluderar intervallet en minutdel.
SELECT justify_days(interval '40 days 30 minutes');
Resultat (med vertikal utdata):
1 mon 10 days 00:30:00
Så i det här fallet slutar vi med att ett tidsvärde läggs till resultatet.