SQLite har ingen DATEADD() funktion som SQL Server (eller en ADDDATE() eller ADD_DATE() fungerar som i vissa andra DBMS), men den har DATE() funktion som kan göra tillägg till ett datumvärde.
SQLite har också en DATETIME() funktion som kan göra tillägg till ett datetime-värde (liksom en TIME() funktion för tidsvärden).
Exempel
Här är ett exempel för att visa hur SQLites DATE() funktionen kan användas för att lägga till tio dagar till ett datum:
SELECT DATE('2050-08-21', '+10 days'); Resultat:
2050-08-31
Och vi kan lägga till månader på samma sätt:
SELECT DATE('2050-08-21', '+1 month'); Resultat:
2050-09-21
Och det är samma sak med år:
SELECT DATE('2050-08-21', '+1 years'); Resultat:
2051-08-21
Observera att intervallet kan anges i sin plural eller icke-pluralform. Så följande ger samma resultat som föregående exempel:
SELECT DATE('2050-08-21', '+1 years'); Resultat:
2051-08-21
Timmar, minuter och sekunder
DATETIME() funktionen låter oss lägga till timmar, minuter och sekunder till ett givet datum och tid:
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"; Resultat:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
Och för tidsvärden, här är TIME() funktion:
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"; Resultat:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Subtrahera från datum
Vi kan också använda DATE() att subtrahera:
SELECT DATE('2050-08-21', '-10 days'); Resultat:
2050-08-11
Allt vi gör är att använda - logga in det andra argumentet istället för + .