TIMESTAMPDIFF
Equivalente en PostgreSQL:
Devuelve la diferencia entre dos fechas en la unidad indicada.
MySQL 8.4
TIMESTAMPDIFF(unit, datetime1, datetime2)- unit
- Unidad en la que se mide la diferenciaPalabra claveMICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
- datetime1
- Fecha inicial; se resta de datetime2DATETIME
- datetime2
- Fecha finalDATETIME
Valor devuelto
Número entero de unidades completas (datetime2 menos datetime1), negativo si datetime2 es anterior; un año o un mes incompleto no cuenta
Ejemplos
Un año incompleto no cuenta
MySQL 8.4
SELECT TIMESTAMPDIFF(YEAR, '2012-06-12', '2022-06-11') AS years;Edad en una fecha concreta
MySQL 8.4
SELECT member_name,
TIMESTAMPDIFF(YEAR, birthday, '2024-01-01') AS age
FROM FamilyMembers;Duración del vuelo en minutos
MySQL 8.4
SELECT id,
town_from,
town_to,
TIMESTAMPDIFF(MINUTE, time_out, time_in) AS minutes
FROM Trip;Detalles
A diferencia de DATEDIFF, el primer argumento se resta del segundo: tanto TIMESTAMPDIFF(DAY, '2022-12-01', '2022-12-05') como DATEDIFF('2022-12-05', '2022-12-01') devuelven 4.