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.