PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Funktionsweise von justify_days() in PostgreSQL

In PostgreSQL die justify_days() Mit der Funktion können Sie ein Intervall einstellen Wert, sodass Zeiträume von 30 Tagen als Monate dargestellt werden.

Beispiel:Sie haben ein Intervall von sagen wir 30 Tagen , justify_days() wird es als 1 mon zurückgeben .

Syntax

Die Funktion hat folgende Syntax:

justify_days(interval)

Wobei interval ist das Intervall, das Sie in Monaten darstellen möchten.

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung.

SELECT justify_days(interval '30 days');

Ergebnis:

1 mon

Teilmonate

Hier ist ein Beispiel dafür, was passiert, wenn Ihr Intervall kein genaues Vielfaches von 30 Tagen ist.

\x
SELECT 
  justify_days(interval '31 days'),
  justify_days(interval '45 days'),
  justify_days(interval '290 days');

Ergebnis (bei vertikaler Ausgabe):

justify_days | 1 mon 1 day
justify_days | 1 mon 15 days
justify_days | 9 mons 20 days

In diesem Beispiel habe ich \x verwendet um zur erweiterten Anzeige umzuschalten, die die Ergebnisse mit vertikaler Ausgabe anzeigt. Dies macht es etwas einfacher, die Ergebnisse zu lesen.

Weniger als einen Monat

Wenn das Intervall weniger als 30 Tage beträgt, bleibt es in Tagen.

SELECT justify_days(interval '29 days');

Ergebnis (bei vertikaler Ausgabe):

29 days

Einschließlich Minuten

In diesem Beispiel enthält das Intervall einen Minutenteil.

SELECT justify_days(interval '40 days 30 minutes');

Ergebnis (bei vertikaler Ausgabe):

1 mon 10 days 00:30:00

In diesem Fall wird also ein Zeitwert an das Ergebnis angehängt.