Use la función Date_ADD() para agregar días y horas en MySQL

Mehvish Ashiq 20 junio 2023
  1. el método DATE_ADD() en MySQL
  2. Crear una tabla e insertar datos en MySQL
  3. Use la función DATE_ADD() para agregar días en MySQL
  4. Use la función DATE_ADD() para agregar mes y año en MySQL
  5. Use la función DATE_ADD() para agregar horas, minutos y segundos en MySQL
  6. Use la función DATE_ADD() para agregar o restar el día y la hora en MySQL
Use la función Date_ADD() para agregar días y horas en MySQL

Este tutorial muestra cómo usar la función DATE_ADD() para agregar días y horas en MySQL. Aprenderemos cómo agregar o reducir días, años, meses y tiempo individualmente y combinar los dos (por ejemplo, día y hora).

el método DATE_ADD() en MySQL

Podemos utilizar el método DATE_ADD() para añadir un intervalo a un valor del tipo DATETIME o DATE. Acepta dos argumentos.

El primer argumento es start_date, que es una fecha de inicio. Puede ser del tipo DATE/DATETIME.

El segundo argumento es la unidad de expresión INTERVALO, que es el valor del intervalo que debe agregarse al valor especificado de fecha_inicio. Puede encontrar la lista de unidades que podemos usar con este método.

Devuelve el valor DATETIME si el primer argumento es DATETIME o el valor del intervalo contiene el elemento de tiempo (hora, minutos o segundos); de lo contrario, devuelve una cadena.

Crear una tabla e insertar datos en MySQL

Para aprender el método DATE_ADD(), vamos a crear una tabla llamada trips que tenga las columnas id, country_name y startDate, donde startDate es del tipo DATETIME. También puede crear una tabla de viajes y completar algunos datos aleatorios que se proporcionan a continuación para seguir.

CREATE TABLE trips(
  id INT NOT NULL AUTO_INCREMENT,
  country_name VARCHAR(45) NOT NULL,
  startDate DATETIME NOT NULL,
  PRIMARY KEY (id));

INSERT INTO trips (country_name, startDate) VALUES
('Pakistan', '2019-01-27 01:23:34'),
('USA', '2019-02-22 12:34:05'),
('Turkey', '2020-05-14 08:03:02'),
('India', '2020-01-21 11:20:04');

SELECT * FROM trips;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-14 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

Use la función DATE_ADD() para agregar días en MySQL

Añade 2 días en la startDate de la tabla trips donde id es 3.

Código de ejemplo:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 2 DAY)
WHERE id = 3;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

También podemos restar días de la siguiente manera.

Código de ejemplo:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL -2 DAY)
WHERE id = 1;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

Use la función DATE_ADD() para agregar mes y año en MySQL

Al igual que los días, también podemos añadir el año y el mes. Para restar algunos años o meses, escriba una expresión con un signo menos (-ve).

Código de ejemplo:

#add month
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MONTH)
WHERE id = 1;

#add year
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 YEAR)
WHERE id = 1;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

Use la función DATE_ADD() para agregar horas, minutos y segundos en MySQL

Agregue 1 hora, minuto y segundo en la fecha de inicio de la tabla viajes donde id es 4.

Código de ejemplo:

#add hours
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 HOUR)
WHERE id = 4;

#add minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MINUTE)
WHERE id = 4;

#add seconds
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 SECOND)
WHERE id = 4;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 12:21:05 |

Use la función DATE_ADD() para agregar o restar el día y la hora en MySQL

Añade 2 horas y 2 minutos en la startDate de la tabla trips donde id es 3.

#add hours and minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL '2:2' HOUR_MINUTE)
WHERE id = 3;

Producción :

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 10:05:02 |
| 4    | India        | 2020-01-21 12:21:05 |

Del mismo modo, podemos usar el DÍA_HORA, AÑO_MES y más.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Artículo relacionado - MySQL Date