MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

Subtrahieren Sie Mikrosekunden von einem Datetime-Wert in MariaDB

Hier sind einige Optionen zum Subtrahieren einer oder mehrerer Mikrosekunden von einem datetime-Ausdruck in MariaDB.

Die SUBTIME() Funktion

Die SUBTIME() subtrahiert eine bestimmte Zeitspanne von einem time- oder datetime-Wert.

Beispiel:

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

Ergebnis:

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

Sie können auch die anderen Zeiteinheiten wie Stunden, Minuten, Sekunden usw. ändern.

Der DATE_SUB() Funktion

Das DATE_SUB() Mit der Funktion können Sie eine bestimmte Anzahl von Datums-/Zeiteinheiten von einem Datums- oder Datumszeitausdruck subtrahieren. Daher können wir diese Funktion verwenden, um den datetime-Wert abzüglich einer bestimmten Anzahl von Mikrosekunden zurückzugeben.

Beispiel:

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

Ergebnis:

+---------------------------------------------- -------------+| DATE_SUB('2021-05-01 10:00:00', INTERVALL 300 MIKROSEKUNDE) |+------------------------ ------------------------------+| 01.05.2021 09:59:59.999700 |+------------------------------------- ---------------------+

Beachten Sie, dass die MICROSECOND Das Schlüsselwort bleibt nicht im Plural, unabhängig davon, ob Sie eine Mikrosekunde oder mehr subtrahieren.

Gerade das Datum übergeben

Folgendes passiert, wenn wir nur einen Datumswert angeben:

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

Ergebnis:

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

Es geht davon aus, dass die Zeit um 00:00:00 Uhr beginnt, also die MICROSECOND davon wird der Betrag abgezogen.

Der Subtraktionsoperator (- )

Eine andere Möglichkeit, eine oder mehrere Mikrosekunden von einem datetime-Wert zu subtrahieren, ist die Verwendung des Subtraktionsoperators (- ), auch Minusoperator genannt.

Beispiel:

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

Ergebnis:

+---------------------------------------------- ---+| '2021-05-01 10:00:00' - INTERVALL 30 MIKROSEKUNDE |+------------------------------- ------------------+| 01.05.2021 09:59:59.999970 |+------------------------------------- -----------+

Der Additionsoperator (+ )

Alternativ können Sie auch den Additionsoperator (+ ) zusammen mit einem negativen Betrag.

Beispiel:

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

Ergebnis:

+---------------------------------------------- ----+| '2021-05-01 10:00:00' + INTERVALL -30 MIKROSEKUNDE |+------------------------------- -------------------+| 01.05.2021 09:59:59.999970 |+------------------------------------- -------------+

Andere Möglichkeiten zum Subtrahieren von Mikrosekunden

Hier sind einige andere Ansätze, die Sie verwenden könnten, um eine oder mehrere Mikrosekunden von einem datetime-Wert zu subtrahieren:

  • Die SUBTIME() Funktion.
  • Der ADDTIME() Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom datetime-Wert subtrahiert).
  • Das SUBDATE() Funktion (dies ist ein Synonym für DATE_SUB() bei Verwendung mit derselben Syntax).
  • Der DATE_ADD() Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom datetime-Wert subtrahiert).
  • Das ADDDATE() Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom datetime-Wert subtrahiert).