В PostgreSQL justify_interval()
функцията коригира интервал с помощта на justify_days
и justify_hours
. Позволява ви да използвате допълнителни корекции на знаците, за да коригирате интервала.
Синтаксис
Функцията има следния синтаксис:
justify_interval(interval)
Където interval
е интервалът, който искате да коригирате.
Пример
Ето основен пример за демонстрация.
SELECT justify_interval(interval '1 mon -3 hours');
Резултат:
29 days 21:00:00
Сравнение с justify_hours() и justify_days()
Ето как се сравнява с justify_hours()
и justify_days()
когато използвате същия аргумент.
\x
SELECT
justify_interval(interval '1 mon -3 hours'),
justify_hours(interval '1 mon -3 hours'),
justify_days(interval '1 mon -3 hours');
Резултат (с помощта на вертикален изход):
justify_interval | 29 days 21:00:00 justify_hours | 1 mon -03:00:00 justify_days | 1 mon -03:00:00
В този пример използвах \x
за да преминете към разширен дисплей, който показва резултатите с помощта на вертикален изход.
По-долу са още няколко сравнения, използващи различни аргументи.
justify_interval()
SELECT
justify_interval(interval '30 hours'),
justify_interval(interval '300 hours'),
justify_interval(interval '3000 hours'),
justify_interval(interval '3.53 months'),
justify_interval(interval '18 days'),
justify_interval(interval '31 days'),
justify_interval(interval '45 days'),
justify_interval(interval '290 days');
Резултат (с помощта на вертикален изход):
justify_interval | 1 day 06:00:00 justify_interval | 12 days 12:00:00 justify_interval | 4 mons 5 days justify_interval | 3 mons 15 days 21:36:00 justify_interval | 18 days justify_interval | 1 mon 1 day justify_interval | 1 mon 15 days justify_interval | 9 mons 20 days
justify_hours()
SELECT
justify_hours(interval '30 hours'),
justify_hours(interval '300 hours'),
justify_hours(interval '3000 hours'),
justify_hours(interval '3.53 months'),
justify_hours(interval '18 days'),
justify_hours(interval '31 days'),
justify_hours(interval '45 days'),
justify_hours(interval '290 days');
Резултат (с помощта на вертикален изход):
justify_hours | 1 day 06:00:00 justify_hours | 12 days 12:00:00 justify_hours | 125 days justify_hours | 3 mons 15 days 21:36:00 justify_hours | 18 days justify_hours | 31 days justify_hours | 45 days justify_hours | 290 days
justify_days()
SELECT
justify_days(interval '30 hours'),
justify_days(interval '300 hours'),
justify_days(interval '3000 hours'),
justify_days(interval '3.53 months'),
justify_days(interval '18 days'),
justify_days(interval '31 days'),
justify_days(interval '45 days'),
justify_days(interval '290 days');
Резултат (с помощта на вертикален изход):
justify_days | 30:00:00 justify_days | 300:00:00 justify_days | 3000:00:00 justify_days | 3 mons 15 days 21:36:00 justify_days | 18 days justify_days | 1 mon 1 day justify_days | 1 mon 15 days justify_days | 9 mons 20 days