MySQL 8.4
TIMESTAMPDIFF(unit, datetime1, datetime2)- unit
- Единица, в которой считается разницаКлючевое словоMICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
- datetime1
- Начальная дата, вычитается из datetime2DATETIME
- datetime2
- Конечная датаDATETIME
Возвращаемое значение
Целое число полных единиц (datetime2 минус datetime1), отрицательное, если datetime2 раньше; неполный год или месяц не засчитывается
Примеры
Неполный год не засчитывается
MySQL 8.4
SELECT TIMESTAMPDIFF(YEAR, '2012-06-12', '2022-06-11') AS years;Возраст на заданную дату
MySQL 8.4
SELECT member_name,
TIMESTAMPDIFF(YEAR, birthday, '2024-01-01') AS age
FROM FamilyMembers;Длительность полёта в минутах
MySQL 8.4
SELECT id,
town_from,
town_to,
TIMESTAMPDIFF(MINUTE, time_out, time_in) AS minutes
FROM Trip;Подробности
В отличие от DATEDIFF, первый аргумент вычитается из второго: и TIMESTAMPDIFF(DAY, '2022-12-01', '2022-12-05'), и DATEDIFF('2022-12-05', '2022-12-01') вернут 4.