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