Referencia de funciones

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 diferencia
Palabra clave
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
datetime1
Fecha inicial; se resta de datetime2
DATETIME
datetime2
Fecha final
DATETIME

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;
years
9

Edad en una fecha concreta

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

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;
idtown_fromtown_tominutes
1100RostovParis200
1101ParisRostov213
1123RostovVladivostok680
1124VladivostokRostov650
1145MoscowRostov108
1146RostovMoscow126
1181RostovMoscow109
1182MoscowRostov115
1187RostovMoscow117
1188MoscowRostov118

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.

Véase también

Dónde aprenderlo