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