MariaDB fournit de nombreuses façons d'effectuer l'arithmétique des dates. Cela inclut l'ajout ou la soustraction d'un certain nombre d'une partie de date donnée d'une valeur date ou datetime.
Dans cet article, je présente 8 façons d'ajouter une ou plusieurs minutes à une valeur datetime dans MariaDB.
Le DATE_ADD()
Fonction
Le DATE_ADD()
La fonction vous permet d'ajouter un montant à une expression date ou datetime. Cela inclut l'ajout de parties de temps, telles que les minutes.
Exemple :
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE);
Résultat :
+-----------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 10:35:00 | +-----------------------------------------------------+
Dans ce cas, j'ai ajouté 35 minutes à l'expression datetime. Notez que la MINUTE
le mot clé reste non pluriel, que j'ajoute une minute ou plus.
Voici ce qui se passe si je ne fournis que la date :
SELECT DATE_ADD('2021-05-01', INTERVAL 35 MINUTE);
Résultat :
+--------------------------------------------+ | DATE_ADD('2021-05-01', INTERVAL 35 MINUTE) | +--------------------------------------------+ | 2021-05-01 00:35:00 | +--------------------------------------------+
La partie heure est ajoutée au résultat et on suppose que l'heure initiale était 00:00:00
.
Lors de l'ajout de 60 minutes, nous pouvons utiliser l'HOUR
mot-clé si nous préférons :
SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR);
Résultat :
+--------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-01 11:00:00 | +--------------------------------------------------+
Évidemment, cette technique fonctionne avec 120 minutes, 180, etc. Utilisez simplement le nombre d'heures applicable.
Vous pouvez également utiliser une unité de date/heure composite pour ajouter plusieurs unités. Par exemple, si vous souhaitez ajouter 1 heure et 30 minutes, vous pouvez procéder comme suit :
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE);
Résultat :
+--------------------------------------------------------------+ | DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) | +--------------------------------------------------------------+ | 2021-05-01 11:30:00 | +--------------------------------------------------------------+
Voir MariaDB Date and Time Units pour une liste complète des unités de date/heure.
Le ADDDATE()
Fonction
Une autre façon d'ajouter des minutes à une expression datetime consiste à utiliser le ADDDATE()
une fonction. Cette fonction a deux syntaxes :
- Une syntaxe vous permet d'ajouter un nombre de jours à une date, ce qui n'est pas ce que nous faisons ici (sauf si nous prévoyons d'ajouter des minutes par blocs de 1 440, c'est-à-dire le nombre de minutes dans une journée).
- 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 deDATE_ADD()
.
Exemple :
SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE);
Résultat :
+----------------------------------------------------+ | ADDDATE('2021-05-01 10:00:00', INTERVAL 35 MINUTE) | +----------------------------------------------------+ | 2021-05-01 10:35:00 | +----------------------------------------------------+
Le DATE_SUB()
Fonction
Le DATE_SUB()
la fonction vous permet de soustraire un montant à une expression date/datetime. Cependant, si vous fournissez une valeur négative à soustraire, elle finit par être ajoutée à la date/heure.
Exemple :
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE);
Résultat :
+------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL -35 MINUTE) | +------------------------------------------------------+ | 2021-05-01 10:35:00 | +------------------------------------------------------+
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 10:00:00', INTERVAL -35 MINUTE);
Résultat :
+-----------------------------------------------------+ | SUBDATE('2021-05-01 10:00:00', INTERVAL -35 MINUTE) | +-----------------------------------------------------+ | 2021-05-01 10:35:00 | +-----------------------------------------------------+
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, ainsi que l'unité de date/heure applicable pour ajouter un certain nombre de minutes à notre date.
Exemple :
SELECT '2021-05-01 10:00:00' + INTERVAL 35 MINUTE;
Résultat :
+--------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL 35 MINUTE | +--------------------------------------------+ | 2021-05-01 10:35:00 | +--------------------------------------------+
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 10:00:00' - INTERVAL -35 MINUTE;
Résultat :
+---------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL -35 MINUTE | +---------------------------------------------+ | 2021-05-01 10:35:00 | +---------------------------------------------+
Le ADDTIME()
Fonction
Vous pouvez utiliser le ADDTIME()
fonction pour ajouter un nombre de minutes à une expression datetime.
Exemple :
SELECT ADDTIME('2021-05-01 10:00:00', '00:30:00');
Résultat :
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '00:30:00') | +--------------------------------------------+ | 2021-05-01 10:30:00 | +--------------------------------------------+
L'un des avantages de cette fonction est que vous pouvez également modifier les autres unités de temps, telles que les heures, les secondes, etc.
Le SUBTIME()
Fonction
Vous pouvez également le changer et utiliser SUBTIME()
avec une valeur négative si vous le souhaitez :
SELECT SUBTIME('2021-05-01 10:00:00', '-00:30:00');
Résultat :
+---------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-00:30:00') | +---------------------------------------------+ | 2021-05-01 10:30:00 | +---------------------------------------------+
Autres unités de date et d'heure
Les exemples ci-dessus ajoutent un nombre de minutes à la valeur datetime, 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 opérateurs ci-dessus.