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