SQLite няма DATEADD() функция като SQL Server (или ADDDATE()). или ADD_DATE() функционира като в някои други СУБД), но има DATE() функция, която може да прави добавки към стойност на дата.
SQLite също има DATETIME() функция, която може да прави добавки към стойност за дата и час (както и TIME() функция за времеви стойности).
Пример
Ето пример, за да демонстрирате как DATE() на SQLite функцията може да се използва за добавяне на десет дни към дата:
SELECT DATE('2050-08-21', '+10 days'); Резултат:
2050-08-31
И можем да добавим месеци по същия начин:
SELECT DATE('2050-08-21', '+1 month'); Резултат:
2050-09-21
И същото е с годините:
SELECT DATE('2050-08-21', '+1 year'); Резултат:
2051-08-21
Имайте предвид, че интервалът може да бъде посочен във форма за множествено или немножествено число. Така че следното дава същите резултати като предишния пример:
SELECT DATE('2050-08-21', '+1 years'); Резултат:
2051-08-21
Часове, минути и секунди
DATETIME() функцията ни позволява да добавяме часове, минути и секунди към дадена стойност за дата и час:
SELECT
DATETIME('2050-08-21 00:00:00.000', '+1 hour') AS "Hours",
DATETIME('2050-08-21 00:00:00.000', '+1 minute') AS "Minutes",
DATETIME('2050-08-21 00:00:00.000', '+1 second') AS "Seconds"; Резултат:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
А за стойностите на времето, ето TIME() функция:
SELECT
TIME('00:00:00.000', '+1 hour') AS "Hours",
TIME('00:00:00.000', '+1 minute') AS "Minutes",
TIME('00:00:00.000', '+1 second') AS "Seconds"; Резултат:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Изваждане от дати
Можем също да използваме DATE() за изваждане:
SELECT DATE('2050-08-21', '-10 days'); Резултат:
2050-08-11
Всичко, което правим, е да използваме - влезте във втория аргумент вместо + .