DATEDIFF
Devuelve el número de días entre dos fechas.
MySQL 8.4
DATEDIFF(date1, date2)- date1
- Fecha de la que se resta date2DATE
- date2
- Fecha que se restaDATE
Valor devuelto
Número entero de días (date1 menos date2), negativo si date1 es anterior; NULL si al menos un argumento es NULL
Ejemplos
Diferencia en días
MySQL 8.4
SELECT DATEDIFF('2022-12-05', '2022-12-01') AS days;La hora se ignora
MySQL 8.4
SELECT DATEDIFF('2022-12-05 23:59:59', '2022-12-01 00:00:01') AS days;Noches por reserva
MySQL 8.4
SELECT id,
start_date,
end_date,
DATEDIFF(end_date, start_date) AS nights
FROM Reservations;Detalles
La hora de los argumentos se ignora. Para la diferencia en horas, minutos o meses, usa TIMESTAMPDIFF. En PostgreSQL esta función no existe: el número de días lo da la resta date1 - date2, y AGE devuelve un intervalo en años, meses y días.