sql >> Base de Datos >  >> RDS >> Mysql

Ejemplos de ADDDATE() – MySQL

En MySQL, puede usar ADDDATE() función para agregar una cantidad específica de tiempo a una fecha. Por ejemplo, podría usarlo para agregar 10 días a una fecha determinada. Puede especificar si desea agregar días, semanas, meses, trimestres, años, etc. También puede agregar un valor de tiempo, como segundos, microsegundos, etc.

El ADDDATE() función es un sinónimo de DATE_ADD() (ambos hacen lo mismo) cuando se utiliza la primera sintaxis que se indica a continuación.

Este artículo contiene ejemplos para demostrar el uso de ADDDATE() función.

Sintaxis

Puede utilizar esta función de las dos formas siguientes:

ADDDATE(date,INTERVAL expr unit)

O

ADDDATE(expr,days)

Ejemplo 1:la primera sintaxis

Este es un ejemplo del uso de la primera forma de la sintaxis.

SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;

Resultado:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

Este ejemplo agrega 2 días a la fecha proporcionada por el primer argumento.

Ejemplo 2:la segunda sintaxis

Este ejemplo se podría reescribir de la siguiente manera:

SELECT ADDDATE('2018-12-01', 2) AS Result;

Resultado:

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

Esto usa la segunda forma de la sintaxis. El segundo argumento es un número entero que representa cuántos días se deben agregar a la fecha proporcionada por el primer argumento. Entonces, obviamente, este formulario solo es adecuado si desea especificar la cantidad en días.

Tenga en cuenta que ADDDATE() es un sinónimo de DATE_ADD() sólo cuando se utiliza la primera sintaxis. La segunda sintaxis solo está disponible en ADDDATE() .

Ejemplo 3:otras unidades de fecha

Una ventaja de la primera forma de la sintaxis es que puede especificar si desea agregar días, semanas, meses, años, etc. Estos son algunos ejemplos.

SELECT 
    '2018-12-01' AS 'Start Date',
    ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months',
    ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';

Resultado:

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01  | 2020-12-01 |
+------------+------------+------------+-------------+------------+

Ejemplo 4:Unidades de tiempo

También puede usar ADDDATE() para agregar unidades de tiempo a un valor de fecha/hora. He aquí un ejemplo.

SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;

Resultado:

+---------------------+
| Result              |
+---------------------+
| 2018-12-01 03:00:00 |
+---------------------+

Valores esperados

La siguiente tabla muestra los valores unitarios válidos y su formato esperado.

unit Valor Esperado expr Formato
MICROSEGUNDO MICROSEGUNDOS
SEGUNDO SEGUNDOS
MINUTO MINUTOS
HORA HORAS
DÍA DÍAS
SEMANA SEMANAS
MES MESES
TRIMESTRE TRIMESTRE
AÑO AÑOS
SEGUNDO_MICROSEGUNDO ‘SEGUNDOS.MICROSEGUNDOS’
MINUTO_MICROSEGUNDO ‘MINUTOS:SEGUNDOS.MICROSEGUNDOS’
MINUTO_SEGUNDO 'MINUTOS:SEGUNDOS'
HORA_MICROSEGUNDO ‘HORAS:MINUTOS:SEGUNDOS.MICROSEGUNDOS’
HORA_SEGUNDO ‘HORAS:MINUTOS:SEGUNDOS’
HORA_MINUTO ‘HORAS:MINUTOS’
DÍA_MICROSEGUNDO ‘DÍAS HORAS:MINUTOS:SEGUNDOS.MICROSEGUNDOS’
DÍA_SEGUNDO ‘DÍAS HORAS:MINUTOS:SEGUNDOS’
DÍA_MINUTO ‘DÍAS HORAS:MINUTOS’
DÍA_HORA ‘DÍAS HORAS’
AÑO_MES 'AÑOS-MESES'