MariaDB
 sql >> Database >  >> RDS >> MariaDB

8 modi per aggiungere giorni a una data in MariaDB

MariaDB offre diversi modi per aggiungere un certo numero di giorni a una data data. Ad esempio, potresti voler aggiungere 10 giorni a una data, 30 giorni o anche solo 1 giorno. Fortunatamente, MariaDB lo rende facile.

Ecco 8 modi per aggiungere un numero di giorni a una data data in MariaDB.

Il ADDDATE() Funzione

Iniziamo con ADDDATE() funzione.

Questa funzione ha due diverse sintassi. La prima sintassi fornisce un modo conciso per aggiungere un certo numero di giorni a una data.

Esempio:

SELECT ADDDATE('2021-05-01', 10);

Risultato:

+---------------------------+
| ADDDATE('2021-05-01', 10) |
+---------------------------+
| 2021-05-11                |
+---------------------------+

Usando questa sintassi, forniamo due argomenti. Il primo argomento è la data e il secondo è il numero di giorni da aggiungere a quella data.

Il ADDDATE() Funzione – Sintassi 2

Il ADDDATE() funzione ha anche una sintassi più dettagliata. Questa sintassi ci consente di essere più espliciti nel modo in cui aggiungiamo i giorni alla data.

Esempio:

SELECT ADDDATE('2021-05-01', INTERVAL 10 DAY);

Risultato:

+----------------------------------------+
| ADDDATE('2021-05-01', INTERVAL 10 DAY) |
+----------------------------------------+
| 2021-05-11                             |
+----------------------------------------+

In questo caso, utilizziamo il INTERVAL parola chiave, seguito dal numero di giorni, seguito da DAY parola chiave.

Il INTERVAL viene utilizzata per aggiungere o sottrarre un intervallo di tempo a un DATETIME , DATE o TIME valore. Possiamo usarlo nelle date, insieme all'unità di data/ora applicabile per aggiungere un certo numero di giorni alla nostra data. Nel nostro caso, l'unità di data/ora è DAY , ma potrebbe essere altrettanto facilmente MONTH , YEAR , TIME , ecc, nonché un certo numero di unità composite.

Il DATE_ADD() Funzione

Il DATE_ADD() la funzione funziona come ADDDATE() quando si utilizza la sintassi dettagliata. Infatti, quando si utilizza la sintassi dettagliata, ADDDATE() è sinonimo di DATE_ADD() .

Esempio:

SELECT DATE_ADD('2021-05-01', INTERVAL 10 DAY);

Risultato:

+-----------------------------------------+
| DATE_ADD('2021-05-01', INTERVAL 10 DAY) |
+-----------------------------------------+
| 2021-05-11                              |
+-----------------------------------------+

Il SUBDATE() Funzione – Sintassi 1

Il SUBDATE() la funzione ti consente di sottrarre un importo a una data. Tuttavia, se fornisci un valore negativo da sottrarre, finisce per essere aggiunto alla data.

Esempio:

SELECT SUBDATE('2021-05-01', -10);

Risultato:

+----------------------------+
| SUBDATE('2021-05-01', -10) |
+----------------------------+
| 2021-05-11                 |
+----------------------------+

Il SUBDATE() Funzione – Sintassi 2

Il SUBDATE() La funzione ha anche la sintassi più dettagliata (simile a ADDDATE() funzione).

Esempio:

SELECT SUBDATE('2021-05-01', INTERVAL -10 DAY);

Risultato:

+-----------------------------------------+
| SUBDATE('2021-05-01', INTERVAL -10 DAY) |
+-----------------------------------------+
| 2021-05-11                              |
+-----------------------------------------+

Il DATE_SUB() Funzione

Ecco un esempio che utilizza DATE_SUB() funzione:

SELECT DATE_SUB('2021-05-01', INTERVAL -10 DAY);

Risultato:

+------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL -10 DAY) |
+------------------------------------------+
| 2021-05-11                               |
+------------------------------------------+

Il + Operatore

Un'altra opzione è usare il + operatore.

Il + operatore viene utilizzato per eseguire l'aggiunta e possiamo usarlo nelle date, insieme all'unità di data/ora applicabile per aggiungere un certo numero di giorni alla nostra data.

Esempio:

SELECT '2021-05-01' + INTERVAL 10 DAY;

Risultato:

+--------------------------------+
| '2021-05-01' + INTERVAL 10 DAY |
+--------------------------------+
| 2021-05-11                     |
+--------------------------------+

Il - Operatore

Il - operatore può essere utilizzato per sottrarre un importo da una data. Tuttavia, se sottrai un numero negativo, alla data viene aggiunto un importo positivo:

SELECT '2021-05-01' - INTERVAL -10 DAY;

Risultato:

+---------------------------------+
| '2021-05-01' - INTERVAL -10 DAY |
+---------------------------------+
| 2021-05-11                      |
+---------------------------------+

BONUS:il ADDTIME() Funzione

Ho detto che questo articolo contiene 8 modi per aggiungere giorni a una data, ma ecco un paio di funzioni bonus! Forse avrei dovuto chiamare questo articolo "10 modi per aggiungere giorni a un valore datetime".

Ad ogni modo, puoi usare ADDTIME() funzione per aggiungere un numero di giorni a un'espressione datetime.

Esempio:

SELECT ADDTIME('2021-05-01 10:30:45', '1 0:0:0');

Risultato:

+-------------------------------------------+
| ADDTIME('2021-05-01 10:30:45', '1 0:0:0') |
+-------------------------------------------+
| 2021-05-02 10:30:45                       |
+-------------------------------------------+

Puoi anche modificare le altre unità di tempo, come ore, minuti, secondi, ecc.

In alternativa puoi cambiarlo e utilizzare SUBTIME() con un valore negativo se lo desideri:

SELECT SUBTIME('2021-05-01 10:30:45', '-1 0:0:0');

Risultato:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:30:45', '-1 0:0:0') |
+--------------------------------------------+
| 2021-05-02 10:30:45                        |
+--------------------------------------------+

Altre unità di data e ora

Gli esempi precedenti aggiungono un numero di giorni alla data, ma possiamo utilizzare le stesse tecniche per aggiungere qualsiasi unità di data/ora. Usiamo DAY come unità di data/ora, ma come accennato, potrebbe essere altrettanto facilmente MONTH , YEAR , TIME , ecc, nonché qualsiasi unità composta.

Vedere Unità di data e ora di MariaDB per un elenco completo delle unità di data/ora che possono essere utilizzate con le funzioni e gli operatori di cui sopra.