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

Træk mikrosekunder fra en Datetime-værdi i MariaDB

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 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. VIS TABELLER i MariaDB

  2. Hvad er størrelsen på kolonnen af ​​int(11) i mysql i bytes?

  3. SQL Server-deadlocks anatomi og de bedste måder at undgå dem på

  4. Hvordan tilføjer du en NOT NULL-kolonne til en stor tabel i SQL Server?