SQLite doesn’t have a DATEADD() function like SQL Server (or an ADDDATE() or ADD_DATE() function like in some other DBMSs), but it does have the DATE() function that can make additions to a date value.
SQLite also has a DATETIME() function that can make additions to a datetime value (as well as a TIME() function for time values).
Example
Here’s an example to demonstrate how SQLite’s DATE() function can be used to add ten days to a date:
SELECT DATE('2050-08-21', '+10 days');
Result:
2050-08-31
And we can add months in the same fashion:
SELECT DATE('2050-08-21', '+1 month');
Result:
2050-09-21
And it’s the same with years:
SELECT DATE('2050-08-21', '+1 year');
Result:
2051-08-21
Note that the interval can be specified in its plural or non-plural form. So the following yields the same results as the previous example:
SELECT DATE('2050-08-21', '+1 years');
Result:
2051-08-21
Hours, Minutes, and Seconds
The DATETIME() function allows us to add hours, minutes and seconds to a given datetime value:
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";
Result:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
And for time values, here’s the TIME() function:
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";
Result:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Subtract from Dates
We can also use DATE() to subtract:
SELECT DATE('2050-08-21', '-10 days');
Result:
2050-08-11
All we do is use the - sign in the second argument instead of +.