Her er nogle muligheder for at trække et eller flere sekunder 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:30'); Resultat:
+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:30') |
+--------------------------------------------+
| 2021-05-01 09:59:30 |
+--------------------------------------------+ Du kan også ændre de andre tidsenheder, såsom timer, minutter osv.
DATE_SUB() Funktion
DATE_SUB() funktionen giver dig mulighed for at trække et bestemt antal dato/tidsenheder fra et dato- eller datotidsudtryk. Derfor kan vi bruge denne funktion til at returnere datetime-værdien minus et vist antal sekunder.
Eksempel:
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 |
+-----------------------------------------------------+
Bemærk, at SECOND søgeord forbliver ikke-flertal, uanset om du trækker et sekund eller mere.
Du kan også bruge sammensatte dato- og tidsenheder. For eksempel kan du lave minutter og sekunder på én gang.
Eksempel:
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 |
+-----------------------------------------------------------------+ Passer Just the Date
Her er, hvad der sker, hvis vi kun angiver en datoværdi:
SELECT DATE_SUB('2021-05-01', INTERVAL 30 SECOND); Resultat:
+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 SECOND) |
+--------------------------------------------+
| 2021-04-30 23:59:30 |
+--------------------------------------------+
Det antager, at tiden starter kl. 00:00:00, og så SECOND beløb trækkes fra det.
Subtraktionsoperatøren (- )
En anden måde at trække et eller flere sekunder fra en datetime-værdi på er at bruge subtraktionsoperatoren (- ), også kendt som minusoperatoren.
Eksempel:
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 | +--------------------------------------------+
Additionsoperatøren (+ )
Du kan alternativt bruge additionsoperatoren (+ ) sammen med et negativt beløb.
Eksempel:
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 | +---------------------------------------------+
Andre måder at trække sekunder på
Her er nogle andre metoder, du kan bruge til at trække et eller flere sekunder 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).