SQL Academy
Premium
Funktionsreferenz

TIMESTAMPDIFF

Entsprechung in PostgreSQL:

Gibt die Differenz zwischen zwei Daten in der angegebenen Einheit zurück.

MySQL 8.4
TIMESTAMPDIFF(unit, datetime1, datetime2)
unit
Einheit, in der die Differenz gemessen wird
Schlüsselwort
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
datetime1
Startdatum, wird von datetime2 abgezogen
DATETIME
datetime2
Enddatum
DATETIME

Rückgabewert

Ganze Zahl voller Einheiten (datetime2 minus datetime1), negativ, wenn datetime2 früher liegt; ein angefangenes Jahr oder ein angefangener Monat zählt nicht

Beispiele

Unvollständiges Jahr zählt nicht

MySQL 8.4
SELECT TIMESTAMPDIFF(YEAR, '2012-06-12', '2022-06-11') AS years;
years
9

Alter zu einem Stichtag

MySQL 8.4
SELECT member_name,
	TIMESTAMPDIFF(YEAR, birthday, '2024-01-01') AS age
FROM FamilyMembers;
member_nameage
Headley Quincey63
Flavia Quincey60
Andie Quincey40
Lela Quincey38
Annie Quincey35
Ernest Forrest62
Constance Forrest55
Wednesday Addams18

Flugdauer in Minuten

MySQL 8.4
SELECT id,
	town_from,
	town_to,
	TIMESTAMPDIFF(MINUTE, time_out, time_in) AS minutes
FROM Trip;
idtown_fromtown_tominutes
1100RostovParis200
1101ParisRostov213
1123RostovVladivostok680
1124VladivostokRostov650
1145MoscowRostov108
1146RostovMoscow126
1181RostovMoscow109
1182MoscowRostov115
1187RostovMoscow117
1188MoscowRostov118

Details

Anders als bei DATEDIFF wird das erste Argument vom zweiten abgezogen: Sowohl TIMESTAMPDIFF(DAY, '2022-12-01', '2022-12-05') als auch DATEDIFF('2022-12-05', '2022-12-01') geben 4 zurück.

Siehe auch

Wo du es lernst