DATE_ADD
Suma un intervalo de tiempo a una fecha.
MySQL 8.4
DATE_ADD(date, INTERVAL expr unit)- date
- Fecha o fecha y hora de origenDATE
- INTERVAL expr unit
- Intervalo que se suma, por ejemplo INTERVAL 7 DAY
- expr
- Cuántas unidades se suman
- unit
- Unidad del intervaloPalabra claveMICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEARSECOND_MICROSECONDMINUTE_MICROSECONDMINUTE_SECONDHOUR_MICROSECONDHOUR_SECONDHOUR_MINUTEDAY_MICROSECONDDAY_SECONDDAY_MINUTEDAY_HOURYEAR_MONTH
Valor devuelto
Fecha si a una fecha se suman días o unidades mayores; si no, fecha y hora; si el día no existe en el mes, se usa el último día del mes
Ejemplos
Una semana más a la fecha de pago
MySQL 8.4
SELECT payment_id,
date,
DATE_ADD(date, INTERVAL 7 DAY) AS due_date
FROM Payments;Un mes al 31 de enero
MySQL 8.4
SELECT DATE_ADD('2024-01-31', INTERVAL 1 MONTH) AS new_date;Unidad de intervalo compuesta
MySQL 8.4
SELECT DATE_ADD(
'2022-06-16 10:00:00',
INTERVAL '1:30' HOUR_MINUTE
) AS new_date;Detalles
En lugar de la función, puedes sumar o restar un intervalo con un operador: date + INTERVAL 7 DAY. En PostgreSQL esta función no existe: la fecha se desplaza con el mismo operador, pero el intervalo se escribe como cadena: date + INTERVAL '7 days'.