Hier sind einige Optionen zum Subtrahieren einer oder mehrerer Stunden von einem datetime-Wert 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', '01:00:00'); Ergebnis:
+--------------------------------------------------+| UNTERZEIT('2021-05-01 10:00:00', '01:00:00') |+-------------------- -------------------+| 2021-05-01 09:00:00 |+--------------------------------------------------- ------+ Sie können auch die anderen Zeiteinheiten wie 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 Stunden zurückzugeben.
Beispiel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 1 HOUR); Ergebnis:
Sie können auch zusammengesetzte Datums- und Zeiteinheiten verwenden. Zum Beispiel könnten Sie Stunden und Minuten auf einmal erledigen.
Beispiel:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL '15:30' HOUR_MINUTE); Ergebnis:
+---------------------------------------------- ------------------+| DATE_SUB('2021-05-01 10:00:00', INTERVALL '15:30' HOUR_MINUTE) |+-------------------- --------------------------------------+| 2021-04-30 18:30:00 |+--------------------------------------------------- -------------------------+ Gerade das Datum übergeben
Folgendes passiert, wenn wir nur einen Datumswert angeben:
SELECT DATE_SUB('2021-05-01', INTERVAL 1 HOUR); Ergebnis:
+------------------------------------+| DATE_SUB('2021-05-01', INTERVALL 1 STUNDE) |+---------------------------------------------- -------+| 2021-04-30 23:00:00 |+--------------------------------------------------- ---+
Es geht davon aus, dass die Zeit um 00:00:00 Uhr beginnt, und somit die HOUR davon wird der Betrag abgezogen.
Mehrere Stunden
Wenn Sie mehr als eine Stunde abziehen müssen, verwenden Sie einfach diese Zahl anstelle von 1 . Aber die HOUR Schlüsselwort bleibt unabhängig davon Nicht-Plural:
SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL 2 HOUR); Ergebnis:
Der Subtraktionsoperator (- )
Eine andere Möglichkeit, Stunden von einem datetime-Ausdruck zu subtrahieren, ist die Verwendung des Subtraktionsoperators (- ), auch Minusoperator genannt.
Beispiel:
SELECT '2021-05-01 10:00:00' - INTERVAL 48 HOUR; Ergebnis:
+--------------------------------------------------+| '2021-05-01 10:00:00' - INTERVALL 48 STUNDEN |+------------------------------- ----------+| 2021-04-29 10:00:00 |+-------------------------------------------------- ----+
Der Additionsoperator (+ )
Alternativ können Sie auch den Additionsoperator (+ ) zusammen mit einem negativen Betrag.
Beispiel:
SELECT '2021-05-01 10:00:00' + INTERVAL -48 HOUR; Ergebnis:
+--------------------------------------------------+| '2021-05-01 10:00:00' + INTERVALL -48 STUNDE |+------------------------------- -------------+| 2021-04-29 10:00:00 |+-------------------------------------------------- -----+
Andere Möglichkeiten zum Subtrahieren von Stunden
Hier sind einige andere Ansätze, die Sie verwenden könnten, um eine oder mehrere Stunden von einem datetime-Wert abzuziehen:
- Der
ADDTIME()Funktion (bei Angabe eines negativen Betrags wird dieser Betrag vom datetime-Wert subtrahiert). - Das
SUBDATE()Funktion (dies ist ein Synonym fürDATE_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).