Problema:
Le gustaría agregar días a una fecha en una base de datos MySQL.
Ejemplo:
Nuestra base de datos tiene una tabla llamada trip
con datos en las columnas id
, city
y start_date
.
id | ciudad | fecha_inicio |
---|---|---|
1 | Chicago | 2019-06-22 |
2 | Houston | 2019-07-15 |
3 | Dallas | 2019-08-30 |
4 | Austin | 2019-09-23 |
Agreguemos dos días a las fechas de inicio y obtengamos las ciudades de viaje con las nuevas fechas de inicio.
Solución:
Usaremos el DATE_ADD()
función. Esta es la consulta que escribirías:
SELECT city, DATE_ADD(start_date, INTERVAL 2 DAY) AS later_date FROM trip;
Este es el resultado de la consulta:
ciudad | fecha_inicio |
---|---|
Chicago | 2019-06-24 |
Houston | 2019-07-17 |
Dallas | 2019-09-01 |
Austin | 2019-09-25 |
Discusión:
Usa el DATE_ADD()
función si desea aumentar una fecha determinada en una base de datos MySQL. En nuestro ejemplo, aumentamos cada fecha de inicio en dos días.
Esta función toma dos argumentos. El primer argumento es la fecha o la fecha y hora que desea cambiar. Este argumento puede ser el nombre de una columna de fecha/fechahora o una expresión que devuelve un valor de fecha/fechahora. En nuestro ejemplo, usamos el start_date
columna, que es del tipo de datos de fecha.
El segundo argumento es el operador INTERVALO seguido de un número entero que indica el número de unidades (en nuestro ejemplo, 2) y la unidad de fecha/hora a sumar (en nuestro ejemplo, DÍA). Puede encontrar más información sobre las unidades de intervalo en la sección Expresión de intervalo y argumentos de unidad de la documentación de MySQL.
DATE_ADD()
devuelve una nueva fecha o valor de fecha y hora. En nuestro ejemplo, el viaje a Houston tiene una nueva fecha de inicio:'2019-07-17'.