W PostgreSQL funkcja justify_days()
funkcja umożliwia dostosowanie interwału wartość, tak aby 30-dniowe okresy były reprezentowane jako miesiące.
Na przykład, jeśli masz przerwę, powiedzmy, 30 dni , justify_days()
zwróci go jako 1 mon .
Składnia
Funkcja ma następującą składnię:
justify_days(interval)
Gdzie interval
to interwał, który chcesz przedstawić w miesiącach.
Przykład
Oto podstawowy przykład do zademonstrowania.
SELECT justify_days(interval '30 days');
Wynik:
1 mon
Częściowe miesiące
Oto przykład tego, co się dzieje, gdy interwał nie jest dokładną wielokrotnością 30 dni.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Wynik (przy użyciu wyjścia pionowego):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
W tym przykładzie użyłem \x
aby przełączyć się na wyświetlacz rozszerzony, który wyświetla wyniki za pomocą wyjścia pionowego. Ułatwia to nieco odczytanie wyników.
Mniej niż miesiąc
Jeśli odstęp jest krótszy niż 30 dni, pozostanie w dniach.
SELECT justify_days(interval '29 days');
Wynik (przy użyciu wyjścia pionowego):
29 days
W tym minuty
W tym przykładzie interwał obejmuje część minutową.
SELECT justify_days(interval '40 days 30 minutes');
Wynik (przy użyciu wyjścia pionowego):
1 mon 10 days 00:30:00
Tak więc w tym przypadku do wyniku dodawana jest wartość czasu.