В MariaDB, ADDTIME() е вградена функция за дата и час, която добавя сума към израз за време или дата и час.
Позволява ви да промените израз за време или дата и час, като предадете този израз, както и израз за време, който да добавите към този израз. Можете да подадете отрицателна сума, ако трябва да извадите от израза за време.
Синтаксис
Синтаксисът е така:
ADDTIME(expr1,expr2)
Където expr1 е израз за време или дата и час и expr2 е времеви израз.
Пример
Ето един пример:
SELECT ADDTIME('10:00:00', '02:30:45'); Резултат:
+---------------------------------+
| ADDTIME('10:00:00', '02:30:45') |
+---------------------------------+
| 12:30:45 |
+---------------------------------+ Изрази за дата и час
Първият аргумент може също да бъде израз за дата и час:
SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45'); Резултат:
+--------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '22:30:45') |
+--------------------------------------------+
| 2021-05-02 08:30:45 |
+--------------------------------------------+ В този случай добавеното време беше достатъчно, за да премести датата напред към следващия ден и това се отразява в резултата.
Изрази за време в по-свободен формат
MariaDB позволява присвояване на времена в по-свободни формати, като например премахване на водещи нули и предоставяне на стойност за деня.
Следователно можем да направим това:
SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456'); Резултат:
+----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') |
+----------------------------------------------------+
| 2022-05-02 11:01:01.123456 |
+----------------------------------------------------+ Отрицателни интервали
Предоставянето на отрицателен интервал за дневната част изважда тази сума от часа/датата и часа.
Пример:
SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456'); Резултат:
+-----------------------------------------------------+
| ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') |
+-----------------------------------------------------+
| 2020-04-30 08:58:58.876544 |
+-----------------------------------------------------+ Нулеви аргументи
Ако някой аргумент е null , резултатът е null :
SELECT
ADDTIME('10:00:00', null),
ADDTIME(null, '02:30:45'),
ADDTIME(null, null); Резултат:
+---------------------------+---------------------------+---------------------+
| ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) |
+---------------------------+---------------------------+---------------------+
| NULL | NULL | NULL |
+---------------------------+---------------------------+---------------------+ Липсващ аргумент
Извикване на ADDTIME() с грешен брой аргументи или без подаване на аргументи води до грешка:
SELECT ADDTIME(); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'