I MariaDB, ADDTIME()
är en inbyggd datum- och tidsfunktion som lägger till ett belopp till ett uttryck för tid eller datum.
Det låter dig ändra ett tid- eller datumuttryck genom att skicka det uttrycket, såväl som ett tidsuttryck att lägga till uttrycket. Du kan skicka ett negativt belopp om du behöver subtrahera från tidsuttrycket.
Syntax
Syntaxen ser ut så här:
ADDTIME(expr1,expr2)
Där expr1
är ett tid- eller datetime-uttryck och expr2
är ett tidsuttryck.
Exempel
Här är ett exempel:
SELECT ADDTIME('10:00:00', '02:30:45');
Resultat:
+---------------------------------+ | ADDTIME('10:00:00', '02:30:45') | +---------------------------------+ | 12:30:45 | +---------------------------------+
Uttryck för datum och tid
Det första argumentet kan också vara ett datetime-uttryck:
SELECT ADDTIME('2021-05-01 10:00:00', '22:30:45');
Resultat:
+--------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-05-02 08:30:45 | +--------------------------------------------+
I det här fallet räckte den tillagda tiden för att flytta fram datumet till nästa dag, och detta återspeglas i resultatet.
Tidsuttryck i ett lösare format
MariaDB tillåter tilldelning av tider i lösare format, som att tappa inledande nollor och ge ett värde för dagen.
Därför kan vi göra detta:
SELECT ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Resultat:
+----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +----------------------------------------------------+
Negativa intervall
Om du anger ett negativt intervall för dagdelen subtraherar det beloppet från tid/datumtid.
Exempel:
SELECT ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Resultat:
+-----------------------------------------------------+ | ADDTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +-----------------------------------------------------+
Nollargument
Om något argument är null
, resultatet är null
:
SELECT
ADDTIME('10:00:00', null),
ADDTIME(null, '02:30:45'),
ADDTIME(null, null);
Resultat:
+---------------------------+---------------------------+---------------------+ | ADDTIME('10:00:00', null) | ADDTIME(null, '02:30:45') | ADDTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
Argument saknas
Anropar ADDTIME()
med fel antal argument, eller utan att skicka några argument resulterar i ett fel:
SELECT ADDTIME();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'ADDTIME'