В 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'