sql >> Base de Datos >  >> RDS >> MariaDB

8 formas de agregar minutos a una fecha y hora en MariaDB

MariaDB proporciona muchas formas de realizar aritmética de fechas. Esto incluye sumar o restar un cierto número de una parte de fecha determinada de un valor de fecha o de fecha y hora.

En este artículo, presento 8 formas de agregar uno o más minutos a un valor de fecha y hora en MariaDB.

El DATE_ADD() Función

El DATE_ADD() La función le permite agregar una cantidad a una expresión de fecha o fecha y hora. Esto incluye agregar partes de tiempo, como minutos.

Ejemplo:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

Resultado:

+-----------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00                                 |
+-----------------------------------------------------+

En este caso, agregué 35 minutos a la expresión de fecha y hora. Tenga en cuenta que el MINUTE la palabra clave permanece sin plural independientemente de si estoy agregando un minuto o más.

Esto es lo que sucede si proporciono solo la fecha:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE);

Resultado:

+--------------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) |
+--------------------------------------------+
| 2021-05-01 00:35:00                        |
+--------------------------------------------+

La parte de la hora se agrega al resultado y se supone que la hora inicial fue 00:00:00 .

Al sumar 60 minutos, podemos usar la HOUR palabra clave si preferimos:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);

Resultado:

+--------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) |
+--------------------------------------------------+
| 2021-05-01 11:00:00                              |
+--------------------------------------------------+

Obviamente, esta técnica funciona con 120 minutos, 180, etc. Simplemente use el número de horas aplicable.

También puede usar una unidad de fecha/hora compuesta para agregar varias unidades. Por ejemplo, si quisiera agregar 1 hora y 30 minutos, podría hacer esto:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);

Resultado:

+--------------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |
+--------------------------------------------------------------+
| 2021-05-01 11:30:00                                          |
+--------------------------------------------------------------+

Consulte Unidades de fecha y hora de MariaDB para obtener una lista completa de unidades de fecha/hora.

El ADDDATE() Función

Otra forma de agregar minutos a una expresión de fecha y hora es usar ADDDATE() función. Esta función tiene dos sintaxis:

  1. Una sintaxis le permite agregar una cantidad de días a una fecha, que no es lo que estamos haciendo aquí (a menos que planeemos agregar minutos en bloques de 1440, que es la cantidad de minutos en un día).
  2. La otra sintaxis es la misma que con DATE_ADD() función de arriba. Al usar esta sintaxis, ADDDATE() es un sinónimo de DATE_ADD() .

Ejemplo:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE);

Resultado:

+----------------------------------------------------+
| ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) |
+----------------------------------------------------+
| 2021-05-01 10:35:00                                |
+----------------------------------------------------+

El DATE_SUB() Función

El DATE_SUB() función le permite restar una cantidad a una expresión de fecha/fechahora. Sin embargo, si proporciona un valor negativo para restar, entonces termina siendo sumado a la fecha/hora.

Ejemplo:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

Resultado:

+------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+------------------------------------------------------+
| 2021-05-01 10:35:00                                  |
+------------------------------------------------------+

El SUBDATE() Función

El SUBDATE() función es un sinónimo de DATE_SUB() cuando se usa la siguiente sintaxis.

Ejemplo:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE);

Resultado:

+-----------------------------------------------------+
| SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 10:35:00                                 |
+-----------------------------------------------------+

El + Operador

Otra opción es usar el + operador.

El + El operador se usa para realizar sumas, y podemos usarlo en fechas, junto con la unidad de fecha/hora aplicable para agregar una cierta cantidad de minutos a nuestra fecha.

Ejemplo:

SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE;

Resultado:

+--------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL 35 MINUTE |
+--------------------------------------------+
| 2021-05-01 10:35:00                        |
+--------------------------------------------+

El - Operador

El - El operador se puede utilizar para restar una cantidad de una fecha. Pero si se usa para restar un número negativo, entonces el resultado es una cantidad positiva que se agrega a la fecha:

SELECT '2021-05-01 10:00:00' - INTERVAL -35 MINUTE;

Resultado:

+---------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL -35 MINUTE |
+---------------------------------------------+
| 2021-05-01 10:35:00                         |
+---------------------------------------------+

El ADDTIME() Función

Puedes usar el ADDTIME() función para agregar una cantidad de minutos a una expresión de fecha y hora.

Ejemplo:

SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00');

Resultado:

+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 10:30:00                        |
+--------------------------------------------+

Una ventaja de esta función es que también puede cambiar otras unidades de tiempo, como horas, segundos, etc.

El SUBTIME() Función

Alternativamente, puede cambiarlo y usar SUBTIME() con un valor negativo si así lo desea:

SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00');

Resultado:

+---------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '-00:30:00') |
+---------------------------------------------+
| 2021-05-01 10:30:00                         |
+---------------------------------------------+

Otras unidades de fecha y hora

Los ejemplos anteriores agregan una cantidad de minutos al valor de fecha y hora, pero podemos usar las mismas técnicas para agregar cualquier unidad de fecha/hora. Consulte Unidades de fecha y hora de MariaDB para obtener una lista completa de las unidades de fecha/hora que se pueden usar con las funciones y los operadores anteriores.