Hier zijn enkele opties voor het aftrekken van een of meer seconden 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:30'); Resultaat:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 09:59:30 |
+--------------------------------------------+ U kunt ook de andere tijdseenheden wijzigen, zoals uren, minuten 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 seconden.
Voorbeeld:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND); Resultaat:
+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 09:59:30 |
+-----------------------------------------------------+
Merk op dat de SECOND zoekwoord blijft niet-meervoud, ongeacht of u één seconde of meer aftrekt.
U kunt ook samengestelde datum- en tijdseenheden gebruiken. U kunt bijvoorbeeld minuten en seconden in één keer doen.
Voorbeeld:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND); Resultaat:
+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30 |
+-----------------------------------------------------------------+ Alleen de datum doorgeven
Dit is wat er gebeurt als we alleen een datumwaarde geven:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND); Resultaat:
+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 SECOND) |
+--------------------------------------------+
| 2021-04-30 23:59:30 |
+--------------------------------------------+
Het gaat ervan uit dat de tijd begint om 00:00:00, en dus de SECOND het bedrag wordt daarvan afgetrokken.
De aftrekkingsoperator (- )
Een andere manier om een of meer seconden 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 SECOND; Resultaat:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 SECOND | +--------------------------------------------+ | 2021-05-01 09:59:30 | +--------------------------------------------+
De toevoegingsoperator (+ )
U kunt ook de opteloperator gebruiken (+ ) samen met een negatief bedrag.
Voorbeeld:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 SECOND; Resultaat:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 SECOND | +---------------------------------------------+ | 2021-05-01 09:59:30 | +---------------------------------------------+
Andere manieren om seconden af te trekken
Hier zijn enkele andere benaderingen die u zou kunnen gebruiken om een of meer seconden 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).