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

DATE_ADD() Exemples – MySQL

Dans MySQL, vous pouvez utiliser le DATE_ADD() fonction pour ajouter une durée spécifiée à une date. Par exemple, vous pouvez l'utiliser pour ajouter 5 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.

Cet article contient des exemples qui montrent comment le DATE_ADD() la fonction fonctionne.

Syntaxe

La syntaxe ressemble à ceci :

DATE_ADD(date,INTERVAL expr unit)

Exemple 1 - Utilisation de base

Voici un exemple d'utilisation.

SELECT DATE_ADD('2020-10-01', INTERVAL 20 DAY) AS Result;

Résultat :

+------------+
| Result     |
+------------+
| 2020-10-21 |
+------------+

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

Exemple 2 – Autres unités de date

Vous pouvez spécifier les unités en jours, semaines, mois, années, etc. Voici quelques exemples.

SELECT 
    '2020-10-01' AS 'Start Date',
    DATE_ADD('2020-10-01', INTERVAL 2 WEEK) AS '+2 Weeks',
    DATE_ADD('2020-10-01', INTERVAL 2 MONTH) AS '+2 Months',
    DATE_ADD('2020-10-01', INTERVAL 2 QUARTER) AS '+2 Quarters',
    DATE_ADD('2020-10-01', INTERVAL 2 YEAR) AS '+2 Years';

Résultat :

+------------+------------+------------+-------------+------------+
| Start Date | +2 Weeks   | +2 Months  | +2 Quarters | +2 Years   |
+------------+------------+------------+-------------+------------+
| 2020-10-01 | 2020-10-15 | 2020-12-01 | 2021-04-01  | 2022-10-01 |
+------------+------------+------------+-------------+------------+

Exemple 3 - Unités de temps

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

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL 10 HOUR) AS Result;

Résultat :

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 11:00:00 |
+---------------------+

Et vous pouvez spécifier plusieurs unités en même temps. Par exemple, vous pouvez spécifier des heures et des minutes. Comme ça.

SELECT DATE_ADD('2020-10-01 01:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Résultat :

+---------------------+
| Result              |
+---------------------+
| 2020-10-01 02:30: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’

Vous pouvez également utiliser ADDDATE() fonction pour faire la même chose (c'est un synonyme de DATE_ADD() fonction en utilisant la même syntaxe). De plus, la syntaxe de ADDDATE() a une deuxième forme, qui est une méthode abrégée pour ajouter un certain nombre de jours à une date. Pour plus d'informations, consultez les exemples ADDDATE() dans MySQL.