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

Soustraire des années d'une date dans SQLite

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