SQLite
 sql >> Database >  >> RDS >> SQLite

Equivalente a SQLite DATEADD()

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