SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Subtrahieren Sie Jahre von einem Datum in SQLite

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