In SQLite, possiamo usare DATE()
funzione per sottrarre uno o più anni da una data.
Per i valori datetime, possiamo usare DATETIME()
funzione.
Esempio
Ecco un esempio che utilizza DATE()
funzione:
SELECT DATE('2050-08-21', '-1 year');
Risultato:
2049-08-21
Se volessimo aggiungere l'importo, potremmo sostituire -
con +
o ometterlo del tutto.
Possiamo specificare gli anni in forma plurale o non plurale. In altre parole, year
è equivalente a years
:
SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years;
Risultato:
year years ---------- ---------- 2045-08-21 2045-08-21
Specificato in mesi o giorni
In alternativa possiamo sottrarre anni in base a un numero di mesi o giorni:
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days";
Risultato:
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
Il DATETIME()
Funzione
Questo esempio utilizza DATETIME()
funzione per fare la stessa cosa:
SELECT DATETIME('2050-08-21', '-1 year');
Risultato:
2049-08-21 00:00:00
In questo caso, ho passato un valore di data, ma la funzione ha restituito un valore di data e ora.
Ecco un altro esempio, questa volta con un valore datetime:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year');
Risultato:
2049-08-21 18:30:45