Här är några alternativ för att subtrahera en eller flera minuter från ett datetime-uttryck i MariaDB.
SUBTIME() Funktion
SUBTIME() subtraherar en given tidsperiod från ett värde för tid eller datum.
Exempel:
SELECT SUBTIME('2021-05-01 10:00:00', '00:30:00'); Resultat:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 09:30:00 |
+--------------------------------------------+ Du kan också ändra andra tidsenheter, såsom timmar, sekunder, etc.
DATE_SUB() Funktion
DATE_SUB() Med funktionen kan du subtrahera ett visst antal datum-/tidsenheter från ett datum- eller datumuttryck. Därför kan vi använda den här funktionen för att returnera datetime-värdet, minus ett visst antal minuter.
Exempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE); Resultat:
+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 09:30:00 |
+-----------------------------------------------------+
Observera att MINUTE sökordet förblir icke-plural oavsett om vi subtraherar en minut eller mer.
Du kan också använda sammansatta datum- och tidsenheter. Du kan till exempel göra minuter och sekunder på en gång.
Exempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND); Resultat:
+-----------------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |
+-----------------------------------------------------------------+
| 2021-05-01 09:44:30 |
+-----------------------------------------------------------------+ Passar Just the Date
Här är vad som händer om vi bara tillhandahåller ett datumvärde till DATE_SUB() funktion:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 MINUTE); Resultat:
+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 MINUTE) |
+--------------------------------------------+
| 2021-04-30 23:30:00 |
+--------------------------------------------+
Det förutsätter att tiden börjar kl. 00:00:00, så MINUTE beloppet dras från det.
Subtraktionsoperatören (- )
Ett annat sätt att subtrahera en eller flera minuter från ett datetime-värde är att använda subtraktionsoperatorn (- ), även känd som minusoperatorn.
Exempel:
SELECT '2021-05-01 10:00:00' - INTERVAL 30 MINUTE; Resultat:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MINUTE | +--------------------------------------------+ | 2021-05-01 09:30:00 | +--------------------------------------------+
Tilläggsoperatören (+ )
Du kan alternativt använda additionsoperatorn (+ ) tillsammans med ett negativt belopp.
Exempel:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MINUTE; Resultat:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MINUTE | +---------------------------------------------+ | 2021-05-01 09:30:00 | +---------------------------------------------+
Andra sätt att subtrahera minuter
Här är några andra metoder du kan använda för att subtrahera en eller flera minuter från ett datum och tid:
ADDTIME()funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).SUBDATE()funktion (detta är en synonym förDATE_SUB()när den används med samma syntax).DATE_ADD()funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).ADDDATE()funktion (om du anger ett negativt belopp kommer det beloppet att subtraheras från datetime-värdet).