SQLite non ha un DATEADD()
funzione come SQL Server (o un ADDDATE()
o ADD_DATE()
funzione come in altri DBMS), ma ha il DATE()
funzione che può apportare aggiunte a un valore di data.
SQLite ha anche un DATETIME()
funzione che può apportare aggiunte a un valore datetime (oltre a un TIME()
funzione per i valori temporali).
Esempio
Ecco un esempio per dimostrare come DATE()
di SQLite la funzione può essere utilizzata per aggiungere dieci giorni a una data:
SELECT DATE('2050-08-21', '+10 days');
Risultato:
2050-08-31
E possiamo aggiungere mesi allo stesso modo:
SELECT DATE('2050-08-21', '+1 month');
Risultato:
2050-09-21
Ed è lo stesso con gli anni:
SELECT DATE('2050-08-21', '+1 years');
Risultato:
2051-08-21
Si noti che l'intervallo può essere specificato nella sua forma plurale o non plurale. Quindi quanto segue produce gli stessi risultati dell'esempio precedente:
SELECT DATE('2050-08-21', '+1 years');
Risultato:
2051-08-21
Ore, minuti e secondi
Il DATETIME()
la funzione ci consente di aggiungere ore, minuti e secondi a un determinato valore 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";
Risultato:
Hours Minutes Seconds ------------------- ------------------- ------------------- 2050-08-21 01:00:00 2050-08-21 00:01:00 2050-08-21 00:00:01
E per i valori temporali, ecco il TIME()
funzione:
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";
Risultato:
Hours Minutes Seconds -------- -------- -------- 01:00:00 00:01:00 00:00:01
Sottrai dalle date
Possiamo anche usare DATE()
per sottrarre:
SELECT DATE('2050-08-21', '-10 days');
Risultato:
2050-08-11
Tutto ciò che facciamo è usare il -
accedi al secondo argomento invece di +
.