SQL Academy
Premium
Funktionsreferenz

ADDTIME

Addiert die angegebene Zeit zu einer Uhrzeit oder einem Datum mit Uhrzeit.

MySQL 8.4
ADDTIME(datetime, time)
datetime
Uhrzeit oder Datum mit Uhrzeit
DATETIME
time
Zu addierende Zeit, kann negativ sein und Tage enthalten: «1 02:00:00»
TIME

Rückgabewert

Datum mit Uhrzeit, wenn datetime ein Datum enthält, sonst Uhrzeit (TIME) bis höchstens 838:59:59; NULL, wenn ein Argument NULL ist

Beispiele

Eine Stunde zu Datum mit Uhrzeit

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

Negative Zeit und Tage

MySQL 8.4
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

Beginn der Doppelstunde mit Verspätung

MySQL 8.4
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

Details

Das erste Argument muss eine Uhrzeit enthalten. Ein Datum ohne Uhrzeit wird als Uhrzeit gelesen, und das Ergebnis ergibt keinen Sinn: ADDTIME('2022-06-16', '01:00:00') gibt 01:20:22 zurück. Für Daten verwende DATE_ADD oder + INTERVAL.

Die passende Funktion SUBTIME zieht Zeit ab. In PostgreSQL gibt es diese Funktionen nicht, Zeit wird dort mit einem Operator addiert: value + INTERVAL '1 hour'.

Siehe auch