MariaDB fornisce diversi modi per aggiungere un anno o un certo numero di anni a una data data. Ad esempio, potresti voler aggiungere 1 anno, 10 anni, 30 anni, ecc.
Ecco 6 modi per aggiungere un anno a una data in MariaDB.
Il DATE_ADD()
Funzione
Il DATE_ADD()
la funzione consente di aggiungere un importo a una data. Ad esempio puoi aggiungere un numero di giorni, settimane, mesi, anni ecc.
Esempio:
SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR);
Risultato:
+-----------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 1 YEAR) | +-----------------------------------------+ | 2022-05-01 | +-----------------------------------------+
Non c'è nessuna regola che dice che può essere solo 1 anno. Puoi aggiungere più anni. In ogni caso, l'YEAR
la parola chiave rimane non plurale:
SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);
Risultato:
+------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 10 YEAR) | +------------------------------------------+ | 2031-05-01 | +------------------------------------------+
È anche possibile utilizzare un'altra unità di data/ora con il numero appropriato di tale unità. Tuttavia, questo approccio dovrebbe essere usato con cautela, poiché potrebbe portare a risultati imprevisti.
Esempio:
SELECT
DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;
Risultato:
+------------+------------+------------+------------+ | Days | Weeks | Months | Years | +------------+------------+------------+------------+ | 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 | +------------+------------+------------+------------+
In questo caso, l'aggiunta di 52 settimane ha avuto un risultato diverso rispetto all'utilizzo di 365 giorni, 12 mesi e 1 anno.
Se spostiamo la data in avanti di un paio d'anni, otteniamo ancora più incoerenze:
SELECT
DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days,
DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks,
DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months,
DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;
Risultato:
+------------+------------+------------+------------+ | Days | Weeks | Months | Years | +------------+------------+------------+------------+ | 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 | +------------+------------+------------+------------+
Questa volta usando MONTH
e YEAR
restituisce lo stesso risultato, ma DAY
e WEEK
restituisce due date diverse, entrambe diverse dal MONTH
e YEAR
risultati.
Il ADDDATE()
Funzione
Un altro modo per aggiungere un anno a una data è utilizzare ADDDATE()
funzione. Questa funzione ha due sintassi. Una sintassi consente di aggiungere un numero di giorni a una data. L'altra sintassi è la stessa di DATE_ADD()
funzione sopra. Quando si utilizza questa sintassi, ADDDATE()
è sinonimo di DATE_ADD()
.
Esempio:
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);
Risultato:
+----------------------------------------+ | ADDDATE('2021-05-01', INTERVAL 1 YEAR) | +----------------------------------------+ | 2022-05-01 | +----------------------------------------+
Il DATE_SUB()
Funzione
Il DATE_SUB()
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 DATE_SUB('2021-05-01', INTERVAL -1 YEAR);
Risultato:
+------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL -1 YEAR) | +------------------------------------------+ | 2022-05-01 | +------------------------------------------+
Il SUBDATE()
Funzione
Il SUBDATE()
funzione è sinonimo di DATE_SUB()
quando si utilizza la seguente sintassi.
Esempio:
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);
Risultato:
+-----------------------------------------+ | SUBDATE('2021-05-01', INTERVAL -1 YEAR) | +-----------------------------------------+ | 2022-05-01 | +-----------------------------------------+
Il +
Operatore
Un'altra opzione è usare il +
operatore.
Il +
operatore viene utilizzato per eseguire l'addizione e possiamo usarlo nelle date, insieme all'unità di data/ora applicabile per aggiungere un certo numero di anni alla nostra data.
Esempio:
SELECT '2021-05-01' + INTERVAL 1 YEAR;
Risultato:
+--------------------------------+ | '2021-05-01' + INTERVAL 1 YEAR | +--------------------------------+ | 2022-05-01 | +--------------------------------+
Il -
Operatore
Il -
operatore può essere utilizzato per sottrarre un importo da una data. Ma se viene utilizzato per sottrarre un numero negativo, il risultato è un importo positivo che viene aggiunto alla data:
SELECT '2021-05-01' - INTERVAL -1 YEAR;
Risultato:
+---------------------------------+ | '2021-05-01' - INTERVAL -1 YEAR | +---------------------------------+ | 2022-05-01 | +---------------------------------+
Altre unità di data e ora
Gli esempi precedenti aggiungono un numero di anni alla data, ma possiamo utilizzare le stesse tecniche per aggiungere qualsiasi unità di data/ora. 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.