SQL Academy
Premium
Funktionsreferenz

ADDTIME

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

MySQL 8.1
ADDTIME(datetime, time)

Parameter

datetimeDATETIME
Uhrzeit oder Datum mit Uhrzeit
timeTIME
Zu addierende Zeit, kann negativ sein und Tage enthalten: «1 02:00:00»

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.1
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.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

Beginn der Doppelstunde mit Verspätung

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

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