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

DATE_ADD() Esempi – MySQL

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.