sql >> Database >  >> RDS >> MariaDB

Microseconden aftrekken van een Datetime-waarde in MariaDB

Hier zijn enkele opties voor het aftrekken van een of meer microseconden van een datetime-expressie in MariaDB.

De SUBTIME() Functie

De SUBTIME() trekt een bepaalde hoeveelheid tijd af van een tijd- of datetime-waarde.

Voorbeeld:

SELECT SUBTIME('2021-05-01 10:00:00', '00:00:00.123456');

Resultaat:

+---------------------------------------------------+
| SUBTIME('2021-05-01 10:00:00', '00:00:00.123456') |
+---------------------------------------------------+
| 2021-05-01 09:59:59.876544                        |
+---------------------------------------------------+

U kunt ook de andere tijdseenheden wijzigen, zoals uren, minuten, seconden, enz.

De DATE_SUB() Functie

De DATE_SUB() Met deze functie kunt u een bepaald aantal datum/tijd-eenheden aftrekken van een datum- of datetime-uitdrukking. Daarom kunnen we deze functie gebruiken om de datetime-waarde te retourneren, minus een bepaald aantal microseconden.

Voorbeeld:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND);

Resultaat:

+-----------------------------------------------------------+
| DATE_SUB('2021-05-01 10:00:00', INTERVAL 300 MICROSECOND) |
+-----------------------------------------------------------+
| 2021-05-01 09:59:59.999700                                |
+-----------------------------------------------------------+

Merk op dat de MICROSECOND zoekwoord blijft niet-meervoud, ongeacht of u één microseconde of meer aftrekt.

Alleen de datum doorgeven

Dit is wat er gebeurt als we alleen een datumwaarde geven:

SELECT DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND);

Resultaat:

+------------------------------------------------+
| DATE_SUB('2021-05-01', INTERVAL 3 MICROSECOND) |
+------------------------------------------------+
| 2021-04-30 23:59:59.999997                     |
+------------------------------------------------+

Het gaat ervan uit dat de tijd begint om 00:00:00, en dus de MICROSECOND het bedrag wordt daarvan afgetrokken.

De aftrekkingsoperator (- )

Een andere manier om een ​​of meer microseconden van een datetime-waarde af te trekken, is door de aftrekkingsoperator te gebruiken (- ), ook wel de min-operator genoemd.

Voorbeeld:

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

Resultaat:

+-------------------------------------------------+
| '2021-05-01 10:00:00' - INTERVAL 30 MICROSECOND |
+-------------------------------------------------+
| 2021-05-01 09:59:59.999970                      |
+-------------------------------------------------+

De toevoegingsoperator (+ )

U kunt ook de opteloperator gebruiken (+ ) samen met een negatief bedrag.

Voorbeeld:

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

Resultaat:

+--------------------------------------------------+
| '2021-05-01 10:00:00' + INTERVAL -30 MICROSECOND |
+--------------------------------------------------+
| 2021-05-01 09:59:59.999970                       |
+--------------------------------------------------+

Andere manieren om microseconden af ​​te trekken

Hier zijn enkele andere benaderingen die u zou kunnen gebruiken om een ​​of meer microseconden af ​​te trekken van een datetime-waarde:

  • De SUBTIME() functie.
  • De ADDTIME() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).
  • De SUBDATE() functie (dit is een synoniem voor DATE_SUB() wanneer gebruikt met dezelfde syntaxis).
  • De DATE_ADD() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).
  • De ADDDATE() functie (als u een negatief bedrag opgeeft, wordt dat bedrag afgetrokken van de datetime-waarde).

  1. resultaatset van functie retourneren

  2. Drie eenvoudige overwinningen op SQL Server-prestaties

  3. Wijzig limiet voor Mysql Rijgrootte te groot

  4. Een databaseback-up herstellen in OpenCart 1.5