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

TIMESTAMPADD

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

MySQL 8.1
TIMESTAMPADD(unit, value, datetime)

Параметры

unitключевое слово
Единица интервала
Значения:MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
valueINT
Количество единиц, может быть отрицательным
datetimeDATETIME
Исходная дата или дата со временем

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

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

Примеры

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

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

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

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

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

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

Подробности

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

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