В этом разделе мы узнаем, как использовать функцию PostgreSQL MAKE_INTERVAL(). Функция make_interval() в PostgreSQL используется для создания интервала, принимая на вход аргументы. Эта функция позволяет задавать интервалы в годах, месяцах, днях, часах, минутах и секундах и создает интервал соответствующим образом.

 
 Синтаксис функции make_interval() в PostgreSQL:

MAKE_INTERVAL(time interval => value, time interval => value,..)

Параметры:

  • years:Количество лет в интервале.
  • months:Количество месяцев в интервале.
  • weeks:Количество недель в интервале.
  • days:Количество дней в интервале.
  • hours: Количество часов в интервале.
  • mins:Количество минут в интервале.
  • seconds:Количество секунд в интервале.

Примечание: Все параметры необязательны, и если они не указаны, то значение по умолчанию для каждого из них равно 0.

Создание интервала с помощью функции   MAKE_INTERVAL():

Создание интервала в 1 год 6 месяцев до даты с помощью функции MAKE_INTERVAL() в PostgreSQL:

В приведенном ниже примере мы передаем “years” и “months” в качестве аргумента временного интервала и 1 и 6 в качестве аргумента единицы, чтобы добавить 1 год 6 месяцев к дате.

SELECT '2024-02-24'::date + make_interval(years=>1,months=>6) as new_date

Результат:

Создание интервала 2 дня, 4 часа и 30 минут:

В приведенном ниже примере мы передадим “days”, “hours” и “mins” в качестве аргумента временного интервала и 1 и 6 в качестве аргумента единицы, чтобы добавить 1 год 6 месяцев к дате.

SELECT '2024-02-24'::date + make_interval(days=>2,hours=>4,mins=>30) as new_date

Результат:

Пример функции PostgreSQL MAKE_INTERVAL()

Ниже приведены примеры использования функции MAKE_INTERVAL() в postgresql.

  • Добавление лет к дате с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “years” в качестве аргумента временного интервала и 4 в качестве аргумента единицы, чтобы добавить 4 года к дате.

SELECT '2024-02-24'::date + make_interval(years=>4) as new_date

Результат:

  • Добавление месяцев к дате с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “months” в качестве аргумента временного интервала и 2 в качестве аргумента единицы, чтобы добавить 2 месяца к дате.

SELECT '2024-02-24'::date + make_interval(months=>2) as new_date

Результат:

  • Добавление недель к дате с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “weeks” в качестве аргумента временного интервала и 2 в качестве аргумента единицы измерения, чтобы добавить 2 недели к дате.

SELECT '2024-02-24'::date + make_interval(weeks=>2) as new_date

Результат:

  • Добавление дней к дате с помощью функции MAKE_INTERVAL() в PostgreSQL:

В приведенном ниже примере мы передадим “days” в качестве аргумента временного интервала и 4 в качестве аргумента единицы, чтобы добавить 4 дня к дате.

SELECT '2024-02-24'::date + make_interval(days=>4) as new_date

Результат:

  • Добавление часов к дате с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “hours” в качестве аргумента временного интервала и 4 в качестве аргумента единицы, чтобы добавить 4 часа к datetime.

SELECT ' 2024-02-24 12:00:00'::timestamp + make_interval(hours=>4) as new_date

Результат:

  • Добавление минут к datetime с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “mins” в качестве аргумента временного интервала и 30 в качестве аргумента единицы, чтобы добавить 30 минут к datetime.

SELECT ' 2024-02-24 12:00:00'::timestamp + make_interval(mins=>30) as new_date

Результат:

  • Добавление секунд к дате с помощью функции MAKE_INTERVAL() в postgresql:

В приведенном ниже примере мы передадим “secs” в качестве аргумента временного интервала и 30 в качестве аргумента единицы измерения, чтобы добавить 30 секунд к дате.

SELECT ' 2024-02-24 12:00:00'::timestamp + make_interval(secs=>30) as new_date

Результат:

PФункция MAKE_INTERVAL() в PostgreSQL Пример 1

В следующем примере используется функция MAKE_INTERVAL() для создания интервала, который представляет собой 4 года, 6 месяцев, 13 дней и 5 часов:

SELECT MAKE_INTERVAL(years =>4, months =>6, days =>13, hours =>5);

Результат:

Функция MAKE_INTERVAL() в PostgreSQL Пример 2

В следующем примере функция MAKE_INTERVAL() используется для создания интервала, который представляет собой год, месяц, день, час, минуту и секунду. В приведенном ниже примере 3rdи 4thаргументы объединены для создания дней, т. е. 3 недели (21 день) + 4 дня = 25 дней

SELECT MAKE_INTERVAL(1,2,3,4,5,6,7);

Результат:

Функция MAKE_INTERVAL() в PostgreSQL Пример 2

В следующем примере используется функция MAKE_INTERVAL() для создания интервала, представляющего собой год, месяц, день, час, минуту и секунду, и вывода их в устной форме.

SET intervalstyle = 'postgres_verbose';
SELECT make_interval(1,2,3,4,5,6,7);

Результат: