sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvordan justify_days() virker i PostgreSQL

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.


  1. Udfør kun en trigger, når visse kolonner er opdateret (SQL-server)

  2. SQL til at finde ord med store bogstaver fra en kolonne

  3. YEARWEEK() Eksempler – MySQL

  4. Undgå talkonflikter med Microsoft SQL-sekvenser