W SQLite możemy użyć DATE()
funkcja odejmowania jednego lub więcej lat od daty.
Dla wartości daty i godziny możemy użyć DATETIME()
funkcja.
Przykład
Oto przykład, w którym użyto DATE()
funkcja:
SELECT DATE('2050-08-21', '-1 year');
Wynik:
2049-08-21
Gdybyśmy chcieli dodać kwotę, moglibyśmy zastąpić -
z +
lub całkowicie go pominąć.
Lata możemy podać w liczbie mnogiej lub innej. Innymi słowy, year
jest odpowiednikiem years
:
SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years;
Wynik:
year years ---------- ---------- 2045-08-21 2045-08-21
Określone w miesiącach lub dniach
Alternatywnie możemy odjąć lata na podstawie liczby miesięcy lub dni:
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days";
Wynik:
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
DATETIME()
Funkcja
W tym przykładzie użyto DATETIME()
funkcja, aby zrobić to samo:
SELECT DATETIME('2050-08-21', '-1 year');
Wynik:
2049-08-21 00:00:00
W tym przypadku przekazałem wartość daty, ale funkcja zwróciła wartość daty i godziny.
Oto kolejny przykład, tym razem z wartością daty i godziny:
SELECT DATETIME('2050-08-21 18:30:45', '-1 year');
Wynik:
2049-08-21 18:30:45