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

8 formas de agregar días a una fecha en MariaDB

MariaDB proporciona varias formas de agregar una cierta cantidad de días a una fecha determinada. Por ejemplo, es posible que desee agregar 10 días a una fecha, o 30 días, o incluso solo 1 día. Afortunadamente, MariaDB lo hace fácil.

Aquí hay 8 formas de agregar una cantidad de días a una fecha determinada en MariaDB.

El ADDDATE() Función

Comencemos con ADDDATE() función.

Esta función tiene dos sintaxis diferentes. La primera sintaxis proporciona una forma concisa de agregar una cierta cantidad de días a una fecha.

Ejemplo:

SELECT ADDDATE('2021-05-01', 10);

Resultado:

+---------------------------+
| ADDDATE('2021-05-01', 10) |
+---------------------------+
| 2021-05-11                |
+---------------------------+

Usando esta sintaxis, proporcionamos dos argumentos. El primer argumento es la fecha y el segundo es la cantidad de días que se agregarán a esa fecha.

El ADDDATE() Función – Sintaxis 2

El ADDDATE() función también tiene una sintaxis más detallada. Esta sintaxis nos permite ser más explícitos en cómo agregamos los días a la fecha.

Ejemplo:

SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);

Resultado:

+----------------------------------------+
| ADDDATE('2021-05-01', INTERVAL 10 DAY) |
+----------------------------------------+
| 2021-05-11                             |
+----------------------------------------+

En este caso, usamos el INTERVAL palabra clave, seguido del número de días, seguido del DAY palabra clave.

El INTERVAL palabra clave se utiliza para sumar o restar un intervalo de tiempo a un DATETIME , DATE o TIME valor. Podemos usarlo en fechas, junto con la unidad de fecha/hora aplicable para agregar una cierta cantidad de días a nuestra fecha. En nuestro caso, la unidad de fecha/hora es DAY , pero podría ser fácilmente MONTH , YEAR , TIME , etc, así como una serie de unidades compuestas.

El DATE_ADD() Función

El DATE_ADD() la función funciona igual que ADDDATE() cuando se utiliza la sintaxis detallada. De hecho, al usar la sintaxis detallada, ADDDATE() es un sinónimo de DATE_ADD() .

Ejemplo:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);

Resultado:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 10 DAY) |
+-----------------------------------------+
| 2021-05-11                              |
+-----------------------------------------+

El SUBDATE() Función – Sintaxis 1

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

Ejemplo:

SELECT SUBDATE('2021-05-01', -10);

Resultado:

+----------------------------+
| SUBDATE('2021-05-01', -10) |
+----------------------------+
| 2021-05-11                 |
+----------------------------+

El SUBDATE() Función – Sintaxis 2

El SUBDATE() La función también tiene una sintaxis más detallada (similar a ADDDATE() función).

Ejemplo:

SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);

Resultado:

+-----------------------------------------+
| SUBDATE('2021-05-01', INTERVAL -10 DAY) |
+-----------------------------------------+
| 2021-05-11                              |
+-----------------------------------------+

El DATE_SUB() Función

Aquí hay un ejemplo que usa el DATE_SUB() función:

SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);

Resultado:

+------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL -10 DAY) |
+------------------------------------------+
| 2021-05-11                               |
+------------------------------------------+

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 días a nuestra fecha.

Ejemplo:

SELECT '2021-05-01' + INTERVAL 10 DAY;

Resultado:

+--------------------------------+
| '2021-05-01' + INTERVAL 10 DAY |
+--------------------------------+
| 2021-05-11                     |
+--------------------------------+

El - Operador

El - El operador se puede utilizar para restar una cantidad de una fecha. Sin embargo, si resta un número negativo, se suma una cantidad positiva a la fecha:

SELECT '2021-05-01' - INTERVAL -10 DAY;

Resultado:

+---------------------------------+
| '2021-05-01' - INTERVAL -10 DAY |
+---------------------------------+
| 2021-05-11                      |
+---------------------------------+

BONUS:El ADDTIME() Función

Dije que este artículo contiene 8 formas de agregar días a una fecha, ¡pero aquí hay un par de funciones adicionales! Tal vez debería haber llamado a este artículo "10 formas de agregar días a un valor de fecha y hora".

De todos modos, puedes usar el ADDTIME() función para agregar un número de días a una expresión de fecha y hora.

Ejemplo:

SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');

Resultado:

+-------------------------------------------+
| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |
+-------------------------------------------+
| 2021-05-02 10:30:45                       |
+-------------------------------------------+

También puede cambiar las otras unidades de tiempo, como horas, minutos, segundos, etc.

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

SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');

Resultado:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |
+--------------------------------------------+
| 2021-05-02 10:30:45                        |
+--------------------------------------------+

Otras unidades de fecha y hora

Los ejemplos anteriores agregan una cantidad de días a la fecha, pero podemos usar las mismas técnicas para agregar cualquier unidad de fecha/hora. Usamos DAY como la unidad de fecha/hora, pero como se mencionó, podría ser fácilmente MONTH , YEAR , TIME , etc, así como cualquiera de las unidades compuestas.

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 el operador anteriores.