Vous trouverez ci-dessous une liste complète des unités de date et d'heure pouvant être utilisées dans MariaDB.
Unité | Description |
---|---|
MICROSECOND | Microsecondes |
SECOND | Secondes |
MINUTE | Minutes |
HOUR | Heures |
DAY | Jours |
WEEK | Semaines |
MONTH | Mois |
QUARTER | Quartiers |
YEAR | Années |
SECOND_MICROSECOND | Secondes.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 |
Ceux-ci peuvent être utilisés avec le +
et -
opérateurs lors de l'exécution d'arithmétiques sur des dates, avec des fonctions telles que ADDDATE()
, SUBDATE()
, DATE_ADD()
, DATE_SUB()
, EXTRACT()
, TIMESTAMPADD()
, et TIMESTAMPDIFF()
.
Ils peuvent également être utilisés dans le ON SCHEDULE
clause du CREATE_EVENT()
et ALTER_EVENT()
fonctions.
Les unités de temps contenant un trait de soulignement sont des unités composites. Ceux-ci se composent de plus d'une unité de temps de base. Il s'agit en quelque sorte d'un raccourci pour spécifier plusieurs unités en une seule fois. Chaque unité peut être séparée par n'importe quel caractère de ponctuation.
Exemples
Voici un exemple d'ajout d'une heure à une expression datetime :
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
Résultat :
+-----------------------------------------+ | '2021-05-31 10:00:00' + INTERVAL 1 HOUR | +-----------------------------------------+ | 2021-05-31 11:00:00 | +-----------------------------------------+
Dans ce cas, nous utilisons le +
opérateur pour effectuer l'addition.
Fonctions DateHeure
Les unités de date et d'heure peuvent être utilisées avec diverses fonctions de date.
Le voici avec le DATE_ADD()
fonction :
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
Résultat :
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
Unités composites
Voici un exemple qui utilise des unités composées :
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30:25' DAY_MINUTE) AS "DAY_MINUTE";
Résultat :
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+
Les nombres entiers peuvent être séparés par n'importe quel caractère de ponctuation. Par conséquent, nous pourrions remplacer les deux-points par des points pour obtenir le même résultat :
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.25.35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1.30.25' DAY_MINUTE) AS "DAY_MINUTE";
Résultat :
+---------------------+---------------------+---------------------+ | YEAR_MONTH | HOUR_SECOND | DAY_MINUTE | +---------------------+---------------------+---------------------+ | 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-03 16:25:00 | +---------------------+---------------------+---------------------+