В этом разделе мы узнаем, как использовать функцию 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);
Результат:
