sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur justify_days() fungerar i PostgreSQL

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.


  1. Returnera den n:e posten från MySQL-frågan

  2. Installera SQL Server Agent Extension på Azure Data Studio

  3. Hur skapar man dummyvariabelkolumner för tusentals kategorier i Google BigQuery?

  4. FEL:behörighet nekad för schema user1_gmail_com vid tecken 46