SQLite
 sql >> Base de données >  >> RDS >> SQLite

Équivalent SQLite DATEADD()

SQLite n'a pas de DATEADD() fonction comme SQL Server (ou un ADDDATE() ou ADD_DATE() fonctionne comme dans certains autres SGBD), mais il a le DATE() fonction qui peut faire des ajouts à une valeur de date.

SQLite a aussi un DATETIME() fonction qui peut faire des ajouts à une valeur datetime (ainsi qu'à un TIME() fonction pour les valeurs de temps).

Exemple

Voici un exemple pour montrer comment le DATE() de SQLite La fonction peut être utilisée pour ajouter dix jours à une date :

SELECT DATE('2050-08-21', '+10 days');

Résultat :

2050-08-31

Et nous pouvons ajouter des mois de la même manière :

SELECT DATE('2050-08-21', '+1 month');

Résultat :

2050-09-21

Et c'est pareil avec les années :

SELECT DATE('2050-08-21', '+1 year');

Résultat :

2051-08-21

Notez que l'intervalle peut être spécifié sous sa forme plurielle ou non plurielle. Ainsi, ce qui suit donne les mêmes résultats que l'exemple précédent :

SELECT DATE('2050-08-21', '+1 years');

Résultat :

2051-08-21

Heures, minutes et secondes

Le DATETIME() permet d'ajouter des heures, des minutes et des secondes à une valeur datetime donnée :

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";

Résultat :

Hours                Minutes              Seconds            
-------------------  -------------------  -------------------
2050-08-21 01:00:00  2050-08-21 00:01:00  2050-08-21 00:00:01

Et pour les valeurs temporelles, voici le TIME() fonction :

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";

Résultat :

Hours     Minutes   Seconds 
--------  --------  --------
01:00:00  00:01:00  00:00:01

Soustraire des dates

Nous pouvons également utiliser DATE() soustraire :

SELECT DATE('2050-08-21', '-10 days');

Résultat :

2050-08-11

Tout ce que nous faisons est d'utiliser le - signez le deuxième argument au lieu de + .