PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Как justify_interval() работи в PostgreSQL

В 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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ремонт на Postgresql след надстройка до OSX 10.7 Lion

  2. Използване на множество PostgreSQL схеми с Rails модели

  3. Postgresql променя типа на колоната от int на UUID

  4. Как да сравните производителността на PostgreSQL

  5. Как Asin() работи в PostgreSQL