MariaDB propose plusieurs façons d'ajouter une année ou un certain nombre d'années à une date donnée. Par exemple, vous pouvez ajouter 1 an, 10 ans, 30 ans, etc.
Voici 6 façons d'ajouter une année à une date dans MariaDB.
Le DATE_ADD()
Fonction
Le DATE_ADD()
permet d'ajouter un montant à une date. Par exemple, vous pouvez ajouter un nombre de jours, de semaines, de mois, d'années, etc.
Exemple :
SELECT DATE_ADD('2021-05-01', INTERVAL 1 YEAR);
Résultat :
+-------------------------------------------------------+| DATE_ADD('2021-05-01', INTERVALLE 1 AN) |+----------------------------------------------- -------+| 2022-05-01 |+-------------------------------------------------------+Il n'y a aucune règle qui dit que cela ne peut être que d'un an. Vous pouvez ajouter plusieurs années. Dans tous les cas, le
YEAR
le mot-clé reste non pluriel :SELECT DATE_ADD('2021-05-01', INTERVAL 10 YEAR);
Résultat :
+-------------------------------------------------------+| DATE_ADD('2021-05-01', INTERVALLE 10 ANS) |+----------------------------------------------- --------+| 2031-05-01 |+--------------------------------------------------+Il est également possible d'utiliser une autre unité de date/heure avec le numéro approprié de cette unité. Cependant, cette approche doit être utilisée avec prudence, car elle pourrait entraîner des résultats inattendus.
Exemple :
SELECT DATE_ADD('2021-05-01', INTERVAL 365 DAY) AS Days, DATE_ADD('2021-05-01', INTERVAL 52 WEEK) AS Weeks, DATE_ADD('2021-05-01', INTERVAL 12 MONTH) AS Months, DATE_ADD('2021-05-01', INTERVAL 1 YEAR) AS Years;
Résultat :
+------------+------------+------------+------- -----+| Jours | Semaines | Mois | Années |+------------+------------+------------+-------- ----+| 2022-05-01 | 2022-04-30 | 2022-05-01 | 2022-05-01 |+------------+------------+-------------+---- --------+Dans ce cas, l'ajout de 52 semaines a eu un résultat différent de l'utilisation de 365 jours, 12 mois et 1 an.
Si nous avançons la date de quelques années, nous obtenons encore plus d'incohérence :
SELECT DATE_ADD('2023-05-01', INTERVAL 365 DAY) AS Days, DATE_ADD('2023-05-01', INTERVAL 52 WEEK) AS Weeks, DATE_ADD('2023-05-01', INTERVAL 12 MONTH) AS Months, DATE_ADD('2023-05-01', INTERVAL 1 YEAR) AS Years;
Résultat :
+------------+------------+------------+------- -----+| Jours | Semaines | Mois | Années |+------------+------------+------------+-------- ----+| 2024-04-30 | 2024-04-29 | 2024-05-01 | 2024-05-01 |+------------+------------+-------------+---- --------+Cette fois en utilisant
MONTH
etYEAR
renvoie le même résultat, maisDAY
etWEEK
renvoie deux dates différentes, toutes deux différentes duMONTH
etYEAR
résultats.Le
ADDDATE()
FonctionUne autre façon d'ajouter une année à une date est d'utiliser le
ADDDATE()
une fonction. Cette fonction a deux syntaxes. Une syntaxe permet d'ajouter un nombre de jours à une date. L'autre syntaxe est la même qu'avec leDATE_ADD()
fonction ci-dessus. Lors de l'utilisation de cette syntaxe,ADDDATE()
est un synonyme deDATE_ADD()
.Exemple :
SELECT ADDDATE('2021-05-01', INTERVAL 1 YEAR);
Résultat :
+---------------------------------------------+| ADDATE('2021-05-01', INTERVALLE 1 AN) |+----------------------------------------------- ------+| 2022-05-01 |+----------------------------------------+Le
DATE_SUB()
FonctionLe
DATE_SUB()
la fonction vous permet de soustraire un montant à une date. Cependant, si vous fournissez une valeur négative à soustraire, elle finit par être ajoutée à la date.Exemple :
SELECT DATE_SUB('2021-05-01', INTERVAL -1 YEAR);
Résultat :
+-------------------------------------------------------+| DATE_SUB('2021-05-01', INTERVALLE -1 AN) |+-------------------------------- ---------+| 2022-05-01 |+-------------------------------------------------------+Le
SUBDATE()
FonctionLe
SUBDATE()
la fonction est synonyme deDATE_SUB()
lors de l'utilisation de la syntaxe suivante.Exemple :
SELECT SUBDATE('2021-05-01', INTERVAL -1 YEAR);
Résultat :
+-------------------------------------------------------+| SOUSDATE('2021-05-01', INTERVALLE -1 AN) |+--------------------------------- --------+| 2022-05-01 |+-------------------------------------------------------+
Le
+
OpérateurUne autre option consiste à utiliser le
+
opérateur.Le
+
L'opérateur est utilisé pour effectuer l'addition, et nous pouvons l'utiliser sur les dates, avec l'unité de date/heure applicable pour ajouter un certain nombre d'années à notre date.Exemple :
SELECT '2021-05-01' + INTERVAL 1 YEAR;
Résultat :
+---------------------------------------------+| '2021-05-01' + INTERVALLE 1 AN |+--------------------------------+| 2022-05-01 |+---------------------------------------------+Le
-
OpérateurLe
-
peut être utilisé pour soustraire un montant d'une date. Mais s'il est utilisé pour soustraire un nombre négatif, le résultat est un montant positif ajouté à la date :SELECT '2021-05-01' - INTERVAL -1 YEAR;
Résultat :
+---------------------------------------------+| '2021-05-01' - INTERVALLE -1 AN |+---------------------------------+| 2022-05-01 |+---------------------------------------------+Autres unités de date et d'heure
Les exemples ci-dessus ajoutent un certain nombre d'années à la date, mais nous pouvons utiliser les mêmes techniques pour ajouter n'importe quelle unité de date/heure. Voir Unités de date et d'heure MariaDB pour une liste complète des unités de date/heure qui peuvent être utilisées avec les fonctions et l'opérateur ci-dessus.