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

Træk sekunder fra en dato-tidsværdi i MariaDB

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 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. SQL Server SELECT, hvor enhver kolonne indeholder 'x'

  2. PHP/MySQL Indsæt null-værdier

  3. Datatype til lagring af ip-adresse i SQL Server

  4. Indstilling af netværkstimeout for JDBC-forbindelse