Mysql
 sql >> Database >  >> RDS >> Mysql

ADDDATE() Esempi – MySQL

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'