Справочник по функциям

TIMESTAMPADD

Прибавляет к дате указанное количество единиц времени.

MySQL 8.4
TIMESTAMPADD(unit, value, datetime)
unit
Единица интервала
Ключевое слово
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
value
Количество единиц, может быть отрицательным
INT
datetime
Исходная дата или дата со временем
DATETIME

Возвращаемое значение

Дата, если к дате прибавляются дни или более крупные единицы, иначе дата со временем; если такого дня в месяце нет, берётся последний день месяца

Примеры

Три часа к дате

MySQL 8.4
SELECT TIMESTAMPADD(HOUR, 3, '2022-12-05 10:37:22') AS shifted;
shifted
2022-12-05 13:37:22

Месяц к 31 января

MySQL 8.4
SELECT TIMESTAMPADD(MONTH, 1, '2024-01-31') AS next_month;
next_month
2024-02-29

Отрицательное значение

MySQL 8.4
SELECT TIMESTAMPADD(MINUTE, -90, '2022-12-05') AS shifted;
shifted
2022-12-04 22:30:00

Подробности

В отличие от DATE_ADD, единица указывается первым аргументом, а составные единицы вроде HOUR_MINUTE не поддерживаются.

Смотрите также