SQLite har ikke en DATEADD()
funktion som SQL Server (eller en ADDDATE()
eller ADD_DATE()
fungerer som i nogle andre DBMS'er), men den har DATE()
funktion, der kan tilføje tilføjelser til en datoværdi.
SQLite har også en DATETIME()
funktion, der kan tilføje tilføjelser til en datetime-værdi (såvel som en TIME()
funktion for tidsværdier).
Eksempel
Her er et eksempel for at demonstrere, hvordan SQLites DATE()
funktionen kan bruges til at tilføje ti dage til en dato:
SELECT DATE('2050-08-21', '+10 days');
Resultat:
2050-08-31
Og vi kan tilføje måneder på samme måde:
SELECT DATE('2050-08-21', '+1 month');
Resultat:
2050-09-21
Og det er det samme med år:
SELECT DATE('2050-08-21', '+1 years');
Resultat:
2051-08-21
Bemærk, at intervallet kan angives i flertals- eller ikke-flertalsform. Så det følgende giver de samme resultater som det foregående eksempel:
SELECT DATE('2050-08-21', '+1 years');
Resultat:
2051-08-21
Timer, minutter og sekunder
DATETIME()
funktion giver os mulighed for at tilføje timer, minutter og sekunder til en given datetime-værdi:
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
Og for tidsværdier er her 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
Træk fra datoer
Vi kan også bruge DATE()
at trække fra:
SELECT DATE('2050-08-21', '-10 days');
Resultat:
2050-08-11
Alt vi gør er at bruge -
log ind i det andet argument i stedet for +
.