DATE_ADD
Прибавляет к дате временной интервал.
MySQL 8.1
DATE_ADD(date, INTERVAL expr unit)Параметры
- dateDATE
- Исходная дата или дата со временем
- INTERVAL expr unitключевое слово
- Прибавляемый интервал: количество expr и единица unit, например INTERVAL 7 DAY
- Значения:MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEARSECOND_MICROSECONDMINUTE_MICROSECONDMINUTE_SECONDHOUR_MICROSECONDHOUR_SECONDHOUR_MINUTEDAY_MICROSECONDDAY_SECONDDAY_MINUTEDAY_HOURYEAR_MONTH
Возвращаемое значение
Дата, если к дате прибавляются дни или более крупные единицы, иначе дата со временем; если такого дня в месяце нет, берётся последний день месяца
Примеры
Неделя к дате платежа
MySQL 8.1
SELECT payment_id,
date,
DATE_ADD(date, INTERVAL 7 DAY) AS due_date
FROM Payments;Месяц к 31 января
MySQL 8.1
SELECT DATE_ADD('2024-01-31', INTERVAL 1 MONTH) AS new_date;Составная единица интервала
MySQL 8.1
SELECT DATE_ADD(
'2022-06-16 10:00:00',
INTERVAL '1:30' HOUR_MINUTE
) AS new_date;Подробности
Вместо функции интервал можно прибавить или вычесть оператором: date + INTERVAL 7 DAY. В PostgreSQL такой функции нет, дату сдвигают тем же оператором, но интервал пишут строкой: date + INTERVAL '7 days'.