In MySQL, puoi usare ADDDATE()
funzione per aggiungere una determinata quantità di tempo a una data. Ad esempio, puoi usarlo per aggiungere 10 giorni a una determinata data. Puoi specificare se aggiungere giorni, settimane, mesi, trimestri, anni, ecc. Puoi anche aggiungere un valore temporale, come secondi, microsecondi, ecc.
Il ADDDATE()
funzione è sinonimo di DATE_ADD()
funzione (entrambi fanno la stessa cosa) quando si utilizza la prima sintassi elencata di seguito.
Questo articolo contiene esempi per dimostrare l'utilizzo di ADDDATE()
funzione.
Sintassi
Puoi utilizzare questa funzione nei due modi seguenti:
ADDDATE(date,INTERVAL expr unit)
Oppure
ADDDATE(expr,days)
Esempio 1:la prima sintassi
Ecco un esempio di utilizzo della prima forma della sintassi.
SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;
Risultato:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Questo esempio aggiunge 2 giorni alla data fornita dal primo argomento.
Esempio 2 – La seconda sintassi
Questo esempio potrebbe essere riscritto come segue:
SELECT ADDDATE('2018-12-01', 2) AS Result;
Risultato:
+------------+ | Result | +------------+ | 2018-12-03 | +------------+
Questo utilizza la seconda forma della sintassi. Il secondo argomento è un numero intero che rappresenta quanti giorni devono essere aggiunti alla data fornita dal primo argomento. Quindi, ovviamente, questo modulo è adatto solo se vuoi specificare l'importo in giorni.
Tieni presente che ADDDATE()
è sinonimo di DATE_ADD()
solo quando viene utilizzata la prima sintassi. La seconda sintassi è disponibile solo in ADDDATE()
.
Esempio 3 – Altre unità di data
Un vantaggio della prima forma della sintassi è che puoi specificare se aggiungere giorni, settimane, mesi, anni, ecc. Ecco alcuni esempi.
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';
Risultato:
+------------+------------+------------+-------------+------------+ | 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 | +------------+------------+------------+-------------+------------+
Esempio 4 – Unità di tempo
Puoi anche usare ADDDATE()
per aggiungere unità di tempo a un valore di data/ora. Ecco un esempio.
SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;
Risultato:
+---------------------+ | Result | +---------------------+ | 2018-12-01 03:00:00 | +---------------------+
Valori previsti
La tabella seguente mostra i valori unitari validi e il loro formato previsto.
unit Valore | Previsto expr Formato |
---|---|
MICROSECONDO | MICROSECONDI |
SECONDA | SECONDI |
MINUTO | MINUTI |
ORA | ORE |
GIORNO | GIORNI |
SETTIMANA | SETTIMANE |
MESE | MESI |
TRIMESTRE | TRIMESTRE |
ANNO | ANNI |
SECOND_MICROSECONDO | 'SECONDI.MICROSECONDI' |
MINUTE_MICROSECOND | 'MINUTI:SECONDI.MICROSECONDI' |
MINUTE_SECOND | 'MINUTI:SECONDI' |
ORA_MICROSECOND | 'ORE:MINUTI:SECONDI.MICROSECONDI' |
ORA_SECONDA | 'ORE:MINUTI:SECONDI' |
ORA_MINUTO | 'ORE:MINUTI' |
DAY_MICROSECONDO | 'GIORNI ORE:MINUTI:SECONDI.MICROSECONDI' |
DAY_SECOND | 'GIORNI ORE:MINUTI:SECONDI' |
DAY_MINUTE | 'GIORNI ORE:MINUTI' |
DAY_HOUR | 'ORE DEI GIORNI' |
ANNO_MESE | 'ANNI-MESI' |