In SQLite können wir das DATE()
verwenden Funktion, um ein oder mehrere Jahre von einem Datum abzuziehen.
Für datetime-Werte können wir DATETIME()
verwenden Funktion.
Beispiel
Hier ist ein Beispiel, das das DATE()
verwendet Funktion:
SELECT DATE('2050-08-21', '-1 year');
Ergebnis:
2049-08-21
Wenn wir den Betrag hinzufügen wollten, könnten wir -
ersetzen mit +
, oder ganz weglassen.
Wir können die Jahre im Plural oder nicht im Plural angeben. Mit anderen Worten, year
entspricht years
:
SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years;
Ergebnis:
year years ---------- ---------- 2045-08-21 2045-08-21
Angegeben in Monaten oder Tagen
Wir können alternativ Jahre basierend auf einer Anzahl von Monaten oder Tagen subtrahieren:
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days";
Ergebnis:
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
Der DATETIME()
Funktion
Dieses Beispiel verwendet DATETIME()
Funktion, um dasselbe zu tun:
SELECT DATETIME('2050-08-21', '-1 year');
Ergebnis:
2049-08-21 00:00:00
In diesem Fall habe ich einen Datumswert übergeben, aber die Funktion hat einen Datumszeitwert zurückgegeben.
Hier ist ein weiteres Beispiel, diesmal mit einem datetime-Wert:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year');
Ergebnis:
2049-08-21 18:30:45