Her er nogle muligheder for at trække et eller flere mikrosekunder fra et datetime-udtryk i MariaDB.
SUBTIME() Funktion
SUBTIME() trækker en given mængde tid fra en værdi for tid eller dato.
Eksempel:
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 også ændre de andre tidsenheder, såsom timer, minutter, sekunder osv.
DATE_SUB() Funktion
DATE_SUB() funktionen giver dig mulighed for at trække et bestemt antal dato/tidsenheder fra et dato- eller datetime-udtryk. Derfor kan vi bruge denne funktion til at returnere datetime-værdien minus et vist antal mikrosekunder.
Eksempel:
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 |
+-----------------------------------------------------------+
Bemærk, at MICROSECOND søgeord forbliver ikke-flertal, uanset om du trækker et mikrosekund eller mere.
Passer Just the Date
Her er, hvad der sker, hvis vi kun angiver en datoværdi:
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 antager, at tiden starter kl. 00:00:00, og derfor MICROSECOND beløb trækkes fra det.
Subtraktionsoperatøren (- )
En anden måde at trække et eller flere mikrosekunder fra en datetime-værdi på er at bruge subtraktionsoperatoren (- ), også kendt som minusoperatoren.
Eksempel:
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 | +-------------------------------------------------+
Additionsoperatøren (+ )
Du kan alternativt bruge additionsoperatoren (+ ) sammen med et negativt beløb.
Eksempel:
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 | +--------------------------------------------------+
Andre måder at trække mikrosekunder på
Her er nogle andre metoder, du kan bruge til at trække et eller flere mikrosekunder fra en datetime-værdi:
SUBTIME()funktion.ADDTIME()funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra dato-tidsværdien).SUBDATE()funktion (dette er et synonym forDATE_SUB()når det bruges med samme syntaks).DATE_ADD()funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra dato-tidsværdien).ADDDATE()funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra dato-tidsværdien).