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).