sql >> Database teknologi >  >> RDS >> MariaDB

Sådan trækker du minutter fra en dato-tidsværdi i MariaDB

Her er nogle muligheder for at trække et eller flere minutter 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:30:00');

Resultat:

+--------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:30:00') |
+--------------------------------------------+
| 2021-05-01 09:30:00                        |
+--------------------------------------------+

Du kan også ændre de andre tidsenheder, såsom timer, 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 minutter.

Eksempel:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE);

Resultat:

+-----------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 30 MINUTE) |
+-----------------------------------------------------+
| 2021-05-01 09:30:00                                 |
+-----------------------------------------------------+

Bemærk, at MINUTE søgeord forbliver ikke-flertal, uanset om vi trækker et minut 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 til DATE_SUB() funktion:

SELECT DATE_SUB('2021-05-01', INTERVAL 30 MINUTE);

Resultat:

+--------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 30 MINUTE) |
+--------------------------------------------+
| 2021-04-30 23:30:00                        |
+--------------------------------------------+

Det antager, at tiden starter kl. 00:00:00, og derfor er MINUTE beløb trækkes fra det.

Subtraktionsoperatøren (- )

En anden måde at trække et eller flere minutter fra en datetime-værdi på er at bruge subtraktionsoperatoren (- ), også kendt som minusoperatoren.

Eksempel:

SELECT '2021-05-01 10:00:00' - INTERVAL 30 MINUTE;

Resultat:

+--------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 MINUTE |
+--------------------------------------------+
| 2021-05-01 09:30:00                        |
+--------------------------------------------+

Additionsoperatøren (+ )

Du kan alternativt bruge additionsoperatoren (+ ) sammen med et negativt beløb.

Eksempel:

SELECT '2021-05-01 10:00:00' + INTERVAL -30 MINUTE;

Resultat:

+---------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 MINUTE |
+---------------------------------------------+
| 2021-05-01 09:30:00                         |
+---------------------------------------------+

Andre måder at trække minutter på

Her er nogle andre fremgangsmåder, du kan bruge til at trække et eller flere minutter fra en dato-tidsværdi:

  • ADDTIME() funktion (hvis du angiver et negativt beløb, trækkes dette beløb fra dato-tidsværdien).
  • SUBDATE() funktion (dette er et synonym for DATE_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).

  1. Cloud Disaster Recovery til MariaDB og MySQL

  2. PostgreSQL Meltdown Benchmarks

  3. Optimer forespørgsel med OFFSET på stort bord

  4. Er der nogen metoder, der hjælper med at løse almindelige SQLite-problemer?