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;Месяц к 31 января
MySQL 8.1
SELECT TIMESTAMPADD(MONTH, 1, '2024-01-31') AS next_month;Отрицательное значение
MySQL 8.1
SELECT TIMESTAMPADD(MINUTE, -90, '2022-12-05') AS shifted;Подробности
В отличие от DATE_ADD, единица указывается первым аргументом, а составные единицы вроде HOUR_MINUTE не поддерживаются.