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

TIMESTAMPDIFF

Аналог в PostgreSQL:

Возвращает разницу между двумя датами в указанных единицах.

MySQL 8.4
TIMESTAMPDIFF(unit, datetime1, datetime2)
unit
Единица, в которой считается разница
Ключевое слово
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
datetime1
Начальная дата, вычитается из datetime2
DATETIME
datetime2
Конечная дата
DATETIME

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

Целое число полных единиц (datetime2 минус datetime1), отрицательное, если datetime2 раньше; неполный год или месяц не засчитывается

Примеры

Неполный год не засчитывается

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

Возраст на заданную дату

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

Длительность полёта в минутах

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

Подробности

В отличие от DATEDIFF, первый аргумент вычитается из второго: и TIMESTAMPDIFF(DAY, '2022-12-01', '2022-12-05'), и DATEDIFF('2022-12-05', '2022-12-01') вернут 4.

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

Где изучить