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