Här är några alternativ för att subtrahera en eller flera mikrosekunder 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:00.123456');
Resultat:
+---------------------------------------------------+ | SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') | +---------------------------------------------------+ | 2021-05-01 09:59:59.876544 | +---------------------------------------------------+
Du kan också ändra andra tidsenheter, såsom timmar, minuter, 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 mikrosekunder.
Exempel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);
Resultat:
+-----------------------------------------------------------+ | DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) | +-----------------------------------------------------------+ | 2021-05-01 09:59:59.999700 | +-----------------------------------------------------------+
Observera att MICROSECOND
nyckelord förblir icke-plural oavsett om du subtraherar en mikrosekund eller mer.
Passar Just the Date
Så här händer om vi bara anger ett datumvärde:
SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);
Resultat:
+------------------------------------------------+ | DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) | +------------------------------------------------+ | 2021-04-30 23:59:59.999997 | +------------------------------------------------+
Det förutsätter att tiden börjar kl. 00:00:00, och därför MICROSECOND
beloppet dras från det.
Subtraktionsoperatören (-
)
Ett annat sätt att subtrahera en eller flera mikrosekunder 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 MICROSECOND;
Resultat:
+-------------------------------------------------+ | '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND | +-------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +-------------------------------------------------+
Tilläggsoperatören (+
)
Du kan alternativt använda additionsoperatorn (+
) tillsammans med ett negativt belopp.
Exempel:
SELECT '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND;
Resultat:
+--------------------------------------------------+ | '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND | +--------------------------------------------------+ | 2021-05-01 09:59:59.999970 | +--------------------------------------------------+
Andra sätt att subtrahera mikrosekunder
Här är några andra tillvägagångssätt som du kan använda för att subtrahera en eller flera mikrosekunder 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).