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

Subtrahieren Sie Sekunden von einem Datetime-Wert in MariaDB

Hier sind einige Optionen zum Subtrahieren einer oder mehrerer Sekunden 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:30'); 

Ergebnis:

+--------------------------------------------------+| UNTERZEIT('2021-05-01 10:00:00', '00:00:30') |+-------------------- -------------------+| 01.05.2021 09:59:30 |+-------------------------------------------------- ------+

Sie können auch die anderen Zeiteinheiten wie Stunden, Minuten 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 Sekunden zurückzugeben.

Beispiel:

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

Ergebnis:

+---------------------------------------------- -------+| DATE_SUB('2021-05-01 10:00:00', INTERVALL 30 SEKUNDEN) |+------------------------------------- ------------------------+| 01.05.2021 09:59:30 |+-------------------------------------------------- ---------------+

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

Sie können auch zusammengesetzte Datums- und Zeiteinheiten verwenden. Beispielsweise könnten Sie Minuten und Sekunden auf einmal erledigen.

Beispiel:

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

Ergebnis:

+---------------------------------------------- -------------------+| DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' MINUTE_SECOND) |+-------------------- -----------------------------------+| 01.05.2021 09:44:30 |+-------------------------------------------------- ----------------------------+

Gerade das Datum übergeben

Folgendes passiert, wenn wir nur einen Datumswert angeben:

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

Ergebnis:

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

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

Der Subtraktionsoperator (- )

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

Beispiel:

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

Ergebnis:

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

Der Additionsoperator (+ )

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

Beispiel:

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

Ergebnis:

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

Andere Möglichkeiten zum Subtrahieren von Sekunden

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

  • 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).