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

ADDTIME

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

MySQL 8.1
ADDTIME(datetime, time)

Параметры

datetimeDATETIME
Время или дата со временем
timeTIME
Прибавляемое время, может быть отрицательным и содержать дни: «1 02:00:00»

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

Дата со временем, если datetime содержит дату, иначе время (TIME) не больше 838:59:59; NULL, если аргумент равен NULL

Примеры

Час к дате со временем

MySQL 8.1
SELECT ADDTIME('2022-06-16 23:30:00', '01:00:00') AS shifted;
shifted
2022-06-17 00:30:00

Отрицательное время и дни

MySQL 8.1
SELECT ADDTIME('10:00:00', '-02:30:00') AS earlier,
	ADDTIME('10:00:00', '1 02:00:00') AS plus_day;
earlierplus_day
07:30:0036:00:00

Начало пары с задержкой

MySQL 8.1
SELECT id,
	start_pair,
	ADDTIME(start_pair, '00:10:00') AS start_with_delay
FROM Timepair;
idstart_pairstart_with_delay
108:30:0008:40:00
209:20:0009:30:00
310:15:0010:25:00
411:05:0011:15:00
512:50:0013:00:00
613:40:0013:50:00
714:35:0014:45:00
815:25:0015:35:00

Подробности

Первый аргумент должен содержать время. Дата без времени читается как время, и результат получается бессмысленным: ADDTIME('2022-06-16', '01:00:00') вернёт 01:20:22. Для дат используйте DATE_ADD или + INTERVAL.

Вычитает время парная функция SUBTIME. В PostgreSQL таких функций нет, время прибавляют оператором: value + INTERVAL '1 hour'.

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