Här är några alternativ för att subtrahera en eller flera sekunder 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:00:30'); Resultat:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 09:59:30 |
+--------------------------------------------+ Du kan också ändra andra tidsenheter, såsom timmar, minuter etc.
DATE_SUB() Funktion
DATE_SUB() funktionen låter dig subtrahera ett visst antal datum/tidsenheter från ett datum- eller datetime-uttryck. Därför kan vi använda den här funktionen för att returnera datetime-värdet, minus ett visst antal sekunder.
Exempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND); Resultat:
+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 SECOND) |
+-----------------------------------------------------+
| 2021-05-01 09:59:30 |
+-----------------------------------------------------+
Observera att SECOND sökord förblir icke-plural oavsett om du subtraherar en sekund 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
Så här händer om vi bara anger ett datumvärde:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND); Resultat:
+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 SECOND) |
+--------------------------------------------+
| 2021-04-30 23:59:30 |
+--------------------------------------------+
Den förutsätter att tiden börjar kl. 00:00:00, och så SECOND beloppet dras från det.
Subtraktionsoperatören (- )
Ett annat sätt att subtrahera en eller flera sekunder 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 SECOND; Resultat:
+--------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 SECOND | +--------------------------------------------+ | 2021-05-01 09:59:30 | +--------------------------------------------+
Tilläggsoperatören (+ )
Du kan alternativt använda additionsoperatorn (+ ) tillsammans med ett negativt belopp.
Exempel:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 SECOND; Resultat:
+---------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 SECOND | +---------------------------------------------+ | 2021-05-01 09:59:30 | +---------------------------------------------+
Andra sätt att subtrahera sekunder
Här är några andra tillvägagångssätt som du kan använda för att subtrahera en eller flera sekunder från ett datetime-värde:
SUBTIME()funktion.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).