Dans SQLite, nous pouvons utiliser le DATE() fonction pour soustraire une ou plusieurs années à une date.
Pour les valeurs datetime, nous pouvons utiliser le DATETIME() fonction.
Exemple
Voici un exemple qui utilise le DATE() fonction :
SELECT DATE('2050-08-21', '-1 year'); Résultat :
2049-08-21
Si nous voulions ajouter le montant, nous pourrions remplacer - avec + , ou omettez-le complètement.
Nous pouvons spécifier les années au pluriel ou non pluriel. En d'autres termes, year est équivalent à years :
SELECT
DATE('2050-08-21', '-5 year') AS year,
DATE('2050-08-21', '-5 years') AS years; Résultat :
year years ---------- ---------- 2045-08-21 2045-08-21
Spécifié en mois ou en jours
Nous pouvons également soustraire des années en fonction d'un nombre de mois ou de jours :
SELECT
DATE('2050-08-21', '-12 months') AS "12 Months",
DATE('2050-08-21', '-365 days') AS "365 Days"; Résultat :
12 Months 365 Days ---------- ---------- 2049-08-21 2049-08-21
Le DATETIME() Fonction
Cet exemple utilise le DATETIME() fonction pour faire la même chose :
SELECT DATETIME('2050-08-21', '-1 year'); Résultat :
2049-08-21 00:00:00
Dans ce cas, j'ai passé une valeur de date, mais la fonction a renvoyé une valeur datetime.
Voici un autre exemple, cette fois avec une valeur datetime :
SELECT DATETIME('2050-08-21 18:30:45', '-1 year'); Résultat :
2049-08-21 18:30:45