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

Comment ADDTIME() fonctionne dans MariaDB

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)

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'