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

ADDDATE() Exemples – MySQL

Dans MySQL, vous pouvez utiliser le ADDDATE() fonction pour ajouter une durée spécifiée à une date. Par exemple, vous pouvez l'utiliser pour ajouter 10 jours à une date donnée. Vous pouvez spécifier si vous souhaitez ajouter des jours, des semaines, des mois, des trimestres, des années, etc. Vous pouvez également ajouter une valeur temporelle, telle que des secondes, des microsecondes, etc.

Le ADDDATE() la fonction est synonyme de DATE_ADD() fonction (ils font tous les deux la même chose) lors de l'utilisation de la première syntaxe répertoriée ci-dessous.

Cet article contient des exemples pour illustrer l'utilisation de ADDDATE() fonction.

Syntaxe

Vous pouvez utiliser cette fonction des deux manières suivantes :

ADDDATE(date,INTERVAL expr unit)

Ou

ADDDATE(expr,days)

Exemple 1 - La première syntaxe

Voici un exemple d'utilisation de la première forme de la syntaxe.

SELECT ADDDATE('2018-12-01', INTERVAL 2 DAY) AS Result;

Résultat :

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

Cet exemple ajoute 2 jours à la date fournie par le premier argument.

Exemple 2 - La deuxième syntaxe

Cet exemple pourrait être réécrit comme suit :

SELECT ADDDATE('2018-12-01', 2) AS Result;

Résultat :

+------------+
| Result     |
+------------+
| 2018-12-03 |
+------------+

Cela utilise la deuxième forme de la syntaxe. Le deuxième argument est un entier qui représente le nombre de jours à ajouter à la date fournie par le premier argument. Alors évidemment, ce formulaire ne convient que si vous souhaitez préciser le montant en jours.

Notez que ADDDATE() est un synonyme de DATE_ADD() uniquement lorsque la première syntaxe est utilisée. La deuxième syntaxe n'est disponible que dans ADDDATE() .

Exemple 3 – Autres unités de date

L'un des avantages de la première forme de la syntaxe est que vous pouvez spécifier s'il faut ajouter des jours, des semaines, des mois, des années, etc. Voici quelques exemples.

SELECT 
    '2018-12-01' AS 'Start Date',
    ADDDATE('2018-12-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    ADDDATE('2018-12-01', INTERVAL 2 MONTH) AS '+2 Months',
    ADDDATE('2018-12-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    ADDDATE('2018-12-01', INTERVAL 2 YEAR) AS '+2 Years';

Résultat :

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2018-12-01 | 2018-12-15 | 2019-02-01 | 2019-06-01  | 2020-12-01 |
+------------+------------+------------+-------------+------------+

Exemple 4 - Unités de temps

Vous pouvez également utiliser ADDDATE() pour ajouter des unités de temps à une valeur date/heure. Voici un exemple.

SELECT ADDDATE('2018-12-01 01:00:00', INTERVAL 2 HOUR) AS Result;

Résultat :

+---------------------+
| Result              |
+---------------------+
| 2018-12-01 03:00:00 |
+---------------------+

Valeurs attendues

Le tableau suivant indique les valeurs unitaires valides et leur format attendu.

unit Valeur expr attendu Format
MICROSECOND MICROSECONDES
DEUXIÈME SECONDES
MINUTE MINUTES
HEURE HEURES
JOUR JOURS
SEMAINE SEMAINES
MOIS MOIS
TRIMESTRE QUARTS
ANNÉE ANNÉES
SECOND_MICROSECOND ‘SECONDS.MICROSECONDES’
MINUTE_MICROSECOND ‘MINUTES :SECONDES.MICROSECONDES’
MINUTE_SECOND ‘MINUTES :SECONDES’
HOUR_MICROSECOND ‘HEURES:MINUTES:SECONDES.MICROSECONDES’
HOUR_SECOND ‘HEURES:MINUTES:SECONDES’
HOUR_MINUTE ‘HEURES :MINUTES’
DAY_MICROSECOND ‘JOURS HEURES:MINUTES:SECONDES.MICROSECONDES’
DAY_SECOND ‘JOURS HEURES:MINUTES:SECONDES’
DAY_MINUTE 'JOURS HEURES :MINUTES'
DAY_HOUR 'JOURS HEURES'
YEAR_MONTH ‘ANNÉES-MOIS’