Hier zijn enkele opties voor het aftrekken van een of meer microseconden van een datetime-expressie in MariaDB.
De SUBTIME() Functie
De SUBTIME() trekt een bepaalde hoeveelheid tijd af van een tijd- of datetime-waarde.
Voorbeeld:
SELECT SUBTIME('2021-05-01 10:00:00', '00:00:00.123456'); Resultaat:
+---------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 09:59:59.876544 |
+---------------------------------------------------+ U kunt ook de andere tijdseenheden wijzigen, zoals uren, minuten, seconden, enz.
De DATE_SUB() Functie
De DATE_SUB() Met deze functie kunt u een bepaald aantal datum/tijd-eenheden aftrekken van een datum- of datetime-uitdrukking. Daarom kunnen we deze functie gebruiken om de datetime-waarde te retourneren, minus een bepaald aantal microseconden.
Voorbeeld:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND); Resultaat:
+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700 |
+-----------------------------------------------------------+
Merk op dat de MICROSECOND zoekwoord blijft niet-meervoud, ongeacht of u één microseconde of meer aftrekt.
Alleen de datum doorgeven
Dit is wat er gebeurt als we alleen een datumwaarde geven:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND); Resultaat:
+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997 |
+------------------------------------------------+
Het gaat ervan uit dat de tijd begint om 00:00:00, en dus de MICROSECOND het bedrag wordt daarvan afgetrokken.
De aftrekkingsoperator (- )
Een andere manier om een of meer microseconden van een datetime-waarde af te trekken, is door de aftrekkingsoperator te gebruiken (- ), ook wel de min-operator genoemd.
Voorbeeld:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND; Resultaat:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
De toevoegingsoperator (+ )
U kunt ook de opteloperator gebruiken (+ ) samen met een negatief bedrag.
Voorbeeld:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND; Resultaat:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Andere manieren om microseconden af te trekken
Hier zijn enkele andere benaderingen die u zou kunnen gebruiken om een of meer microseconden af te trekken van een datetime-waarde:
- De
SUBTIME()functie. - De
ADDTIME()functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde). - De
SUBDATE()functie (dit is een synoniem voorDATE_SUB()wanneer gebruikt met dezelfde syntaxis). - De
DATE_ADD()functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde). - De
ADDDATE()functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).