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