В PostgreSQL, justify_days()
функцията ви позволява да регулирате интервала стойност, така че 30-дневните периоди от време да се представят като месеци.
Например, ако имате интервал от, да речем, 30 дни , justify_days()
ще го върне като 1 мес. .
Синтаксис
Функцията има следния синтаксис:
justify_days(interval)
Където interval
е интервалът, който искате да бъде представен в месеци.
Пример
Ето основен пример за демонстрация.
SELECT justify_days(interval '30 days');
Резултат:
1 mon
Частични месеци
Ето пример за това какво се случва, когато интервалът ви не е точно кратен на 30 дни.
\x
SELECT
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Резултат (с помощта на вертикален изход):
justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days
В този пример използвах \x
за да преминете към разширен дисплей, който показва резултатите с помощта на вертикален изход. Това прави малко по-лесно четенето на резултатите.
По-малко от месец
Ако интервалът е по-малък от 30 дни, той ще остане в дни.
SELECT justify_days(interval '29 days');
Резултат (с помощта на вертикален изход):
29 days
Включително минути
В този пример интервалът включва част от минути.
SELECT justify_days(interval '40 days 30 minutes');
Резултат (с помощта на вертикален изход):
1 mon 10 days 00:30:00
Така че в този случай получаваме времева стойност, която се добавя към резултата.