I SQLite kan vi använda DATE() funktion för att subtrahera ett eller flera år från ett datum.
För datetime-värden kan vi använda DATETIME() funktion.
Exempel
Här är ett exempel som använder DATE() funktion:
SELECT DATE('2050-08-21', '-1 year'); Resultat:
2049-08-21
Om vi vill lägga till beloppet kan vi ersätta - med + , eller utelämna det helt.
Vi kan ange årtal i plural eller icke-pluralform. Med andra ord, year motsvarar year :
SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years; Resultat:
year years ---------- ---------- 2045-08-21 2045-08-21
Specificerat i månader eller dagar
Vi kan alternativt subtrahera år baserat på ett antal månader eller dagar:
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days"; Resultat:
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
DATETIME() Funktion
Det här exemplet använder DATETIME() funktion för att göra samma sak:
SELECT DATETIME('2050-08-21', '-1 year'); Resultat:
2049-08-21 00:00:00
I det här fallet skickade jag ett datumvärde, men funktionen returnerade ett datetime-värde.
Här är ett annat exempel, den här gången med ett datetime-värde:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year'); Resultat:
2049-08-21 18:30:45