Для того чтобы вычесть месяцы из даты в PostgreSQL, мы будем использовать два подхода: один с помощью оператора -, а другой с помощью типа данных Interval. Здесь приведены примеры обоих подходов. Также мы рассмотрим, как вычесть месяцы из столбца даты в таблице PostgreSQL.

Вычитание месяцев из даты в PostgreSQL с использованием типа данных INTERVAL:

Мы будем использовать тип данных INTERVAL для вычитания месяцев из даты в PostgreSQL. Когда мы вычитаем месяцы из даты, используя тип данных INTERVAL, вывод будет в формате datetime(timestamp). В приведенном ниже примере мы вычитали 3 месяца из даты, используя тип данных Interval.

Пример 1:

SELECT '2024-02-24'::date - INTERVAL '3 Months' as new_date

Результат:

Вычитание месяцев из даты в PostgreSQL с помощью функции make_interval():

Мы будем использовать функцию make_interval() для вычитания месяцев из даты в PostgreSQL. Когда мы вычитаем месяцы из даты с помощью функции make_interval(), вывод будет в формате datetime(timestamp). В приведенном ниже примере мы вычли 3 месяца из даты.

Пример 1:

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

Результат:

Вычитание месяцев из даты в PostgreSQL с помощью простого оператора вычитания (-) (окольным путем):

Как уже говорилось, это окольный путь. В приведенном ниже примере мы использовали простое вычитание для вычитания месяцев из даты в PostgreSQL. В приведенном ниже примере мы вычли из даты 92 дня (что составляет 3 месяца).

Пример 1:

SELECT '2024-02-24'::date - 92 as new_date

Результат:


Вычитание месяцев из столбца даты в таблице PostgreSQL с использованием типа данных Interval:

Мы будем использовать таблицу student_detail1 для нашего примера, чтобы показать, как вычесть месяцы из столбца даты в таблице postgresql.

student_detail1:

Мы вычитаем 3 месяца из столбца даты, используя тип данных INTERVAL в postgresql, и создаем новый столбец с именем new_date, как показано ниже.

select *, birthdaytime::timestamp  - INTERVAL '3 MONTHS' as new_date from student_detail1

Результат:

Вычитание месяцев из столбца даты в таблице PostgreSQL с помощью функции make_interval():

Вычтем 3 месяца из столбца даты с помощью функции make_interval() в postgresql и создадим новый столбец с именем new_date, как показано ниже.。

select *,birthdaytime - make_interval(months => 3) as new_date from student_detail1

Результат:

Вычитание месяца из столбца даты в таблице PostgreSQL с помощью оператора вычитания (-) (окольный путь):

Мы вычитаем 92 дня (3 месяца) из столбца даты, используя простой оператор вычитания (-) в postgresql, и создаем новый столбец с именем new_date, как показано ниже.

SELECT *, birthdaytime::date - 92 as new_date from student_detail1

Результат: