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

6 façons d'ajouter une année à une date dans MariaDB

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 et YEAR renvoie le même résultat, mais DAY et WEEK renvoie deux dates différentes, toutes deux différentes du MONTH et YEAR résultats.

Le ADDDATE() Fonction

Une 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 le DATE_ADD() fonction ci-dessus. Lors de l'utilisation de cette syntaxe, ADDDATE() est un synonyme de DATE_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() Fonction

Le 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() Fonction

Le SUBDATE() la fonction est synonyme de DATE_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érateur

Une 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érateur

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