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
Всичко, което правим, е да използваме -
влезте във втория аргумент вместо +
.