In MySQL, puoi usare DATE_ADD()
funzione per aggiungere una determinata quantità di tempo a una data. Ad esempio, puoi usarlo per aggiungere 5 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.
Questo articolo contiene esempi che dimostrano come DATE_ADD()
la funzione funziona.
Sintassi
La sintassi è questa:
DATE_ADD(date,INTERVAL expr unit)
Esempio 1 – Utilizzo di base
Ecco un esempio di utilizzo.
SELECT DATE_ADD('2020-10-01', INTERVAL 20 DAY) AS Result;
Risultato:
+------------+ | Result | +------------+ | 2020-10-21 | +------------+
Questo esempio aggiunge 20 giorni alla data fornita dal primo argomento.
Esempio 2 – Altre unità di data
Puoi specificare le unità in giorni, settimane, mesi, anni, ecc. Ecco alcuni esempi.
SELECT '2020-10-01' AS 'Start Date', DATE_ADD('2020-10-01', INTERVAL 2 WEEK) AS '+2 Weeks', DATE_ADD('2020-10-01', INTERVAL 2 MONTH) AS '+2 Months', DATE_ADD('2020-10-01', INTERVAL 2 QUARTER) AS '+2 Quarters', DATE_ADD('2020-10-01', INTERVAL 2 YEAR) AS '+2 Years';
Risultato:
+------------+------------+------------+-------------+------------+ | Start Date | +2 Weeks | +2 Months | +2 Quarters | +2 Years | +------------+------------+------------+-------------+------------+ | 2020-10-01 | 2020-10-15 | 2020-12-01 | 2021-04-01 | 2022-10-01 | +------------+------------+------------+-------------+------------+
Esempio 3 – Unità di tempo
Puoi anche aggiungere unità di tempo a un valore di data/ora. Ecco un esempio.
SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL 10 HOUR) AS Result;
Risultato:
+---------------------+ | Result | +---------------------+ | 2020-10-01 11:00:00 | +---------------------+
E puoi specificare più unità contemporaneamente. Ad esempio, puoi specificare ore e minuti. Così.
SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;
Risultato:
+---------------------+ | Result | +---------------------+ | 2020-10-01 02:30: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' |
Puoi anche utilizzare ADDDATE()
funzione per fare la stessa cosa (è un sinonimo di DATE_ADD()
funzione quando si utilizza la stessa sintassi). Inoltre, la sintassi di ADDDATE()
ha una seconda forma, che è un metodo abbreviato per aggiungere un certo numero di giorni a una data. Per ulteriori informazioni, vedere ADDDATE() Esempi in MySQL.