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 +
.