Dans MariaDB, ADDTIME()
est une fonction de date et d'heure intégrée qui ajoute un montant à une expression d'heure ou de date/heure.
Il vous permet de modifier une expression d'heure ou de date/heure en transmettant cette expression, ainsi qu'une expression d'heure à ajouter à cette expression. Vous pouvez passer un montant négatif si vous devez soustraire de l'expression de temps.
Syntaxe
La syntaxe ressemble à ceci :
ADDTIME(expr1,expr2)
Où expr1
est une expression d'heure ou de date et d'heure, et expr2
est une expression temporelle.
Exemple
Voici un exemple :
SELECT ADDTIME('10:00:00', '02:30:45');
Résultat :
+---------------------------------+ | ADDTIME('10:00:00', '02:30:45') | +---------------------------------+ | 12:30:45 | +---------------------------------+
Expressions de date/heure
Le premier argument peut également être une expression datetime :
SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');
Résultat :
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-05-02 08:30:45 | +--------------------------------------------+
Dans ce cas, le temps ajouté était suffisant pour avancer la date au jour suivant, et cela se reflète dans le résultat.
Expressions de temps dans un format plus souple
MariaDB permet l'attribution d'heures dans des formats plus lâches, tels que la suppression des zéros non significatifs et la fourniture d'une valeur pour le jour.
Par conséquent, nous pouvons faire ceci :
SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Résultat :
+----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +----------------------------------------------------+
Intervalles négatifs
Fournir un intervalle négatif pour la partie jour soustrait ce montant de l'heure/dateheure.
Exemple :
SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Résultat :
+-----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +-----------------------------------------------------+
Arguments nuls
Si un argument est null
, le résultat est null
:
SELECT
ADDTIME('10:00:00', null),
ADDTIME(null, '02:30:45'),
ADDTIME(null, null);
Résultat :
+---------------------------+---------------------------+---------------------+ | ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
Argument manquant
Appel de ADDTIME()
avec le mauvais nombre d'arguments, ou sans passage d'arguments, une erreur se produit :
SELECT ADDTIME();
Résultat :
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'