I MariaDB, SUBTIME()
er en indbygget dato- og klokkeslætsfunktion, der trækker et beløb fra et klokkeslæt eller datetime-udtryk.
Det giver dig mulighed for at ændre et klokkeslæts- eller datetime-udtryk ved at videregive det udtryk, såvel som et tidsudtryk til at trække fra det udtryk. Du kan give et negativt beløb, hvis du har brug for at tilføje til tidsudtrykket.
Syntaks
Syntaksen ser sådan ud:
SUBTIME(expr1,expr2)
Hvor expr1
er et klokkeslæt eller datetime-udtryk, og expr2
er et tidsudtryk.
Eksempel
Her er et eksempel:
SELECT SUBTIME('10:00:00', '02:30:45');
Resultat:
+---------------------------------+ | SUBTIME('10:00:00', '02:30:45') | +---------------------------------+ | 07:29:15 | +---------------------------------+
Dato-tidsudtryk
Det første argument kan også være et datetime-udtryk:
SELECT SUBTIME('2021-05-01 10:00:00', '22:30:45');
Resultat:
+--------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '22:30:45') | +--------------------------------------------+ | 2021-04-30 11:29:15 | +--------------------------------------------+
I dette tilfælde blev der trukket tilstrækkelig tid til at trække datoen tilbage til den foregående dag og måned.
Tidsudtryk i et løsere format
MariaDB tillader tildeling af tider i løsere formater, såsom at slippe indledende nuller og angive en værdi for dagen.
Derfor kan vi gøre dette:
SELECT SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456');
Resultat:
+----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '366 1:1:1.123456') | +----------------------------------------------------+ | 2020-04-30 08:58:58.876544 | +----------------------------------------------------+
Negative intervaller
Angivelse af et negativt interval for dagdelen tilføjer det beløb til klokkeslættet/datoen.
Eksempel:
SELECT SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456');
Resultat:
+-----------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '-366 1:1:1.123456') | +-----------------------------------------------------+ | 2022-05-02 11:01:01.123456 | +-----------------------------------------------------+
Nul-argumenter
Hvis et argument er null
, resultatet er null
:
SELECT
SUBTIME('10:00:00', null),
SUBTIME(null, '02:30:45'),
SUBTIME(null, null);
Resultat:
+---------------------------+---------------------------+---------------------+ | SUBTIME('10:00:00', null) | SUBTIME(null, '02:30:45') | SUBTIME(null, null) | +---------------------------+---------------------------+---------------------+ | NULL | NULL | NULL | +---------------------------+---------------------------+---------------------+
Manglende argument
Kalder SUBTIME()
med det forkerte antal argumenter, eller uden at sende nogen argumenter, resulterer det i en fejl:
SELECT SUBTIME();
Resultat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'SUBTIME'