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

8 Möglichkeiten, eine Stunde zu einer Datetime in MariaDB hinzuzufügen

Es gibt viele Möglichkeiten, Datumsarithmetik in MariaDB durchzuführen. Dazu gehört das Addieren oder Subtrahieren einer bestimmten Zahl eines bestimmten Datumsteils von einem Datums- oder Datetime-Wert.

In diesem Artikel stelle ich 8 Möglichkeiten vor, um eine Stunde zu einem datetime-Wert in MariaDB hinzuzufügen.

Der DATE_ADD() Funktion

Das DATE_ADD() Mit der Funktion können Sie einem Datums- oder Datumszeitausdruck einen Betrag hinzufügen. Dazu gehört auch das Hinzufügen von Zeitteilen, wie z. B. der Stunde.

Beispiel:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR); 

Ergebnis:

+---------------------------------------------- ----+| DATE_ADD('2021-05-01 10:00:00', INTERVALL 1 STUNDE) |+------------------------------------- ---------------------+| 2021-05-01 11:00:00 |+-------------------------------------------------- -------------+

In diesem Fall habe ich dem datetime-Ausdruck eine Stunde hinzugefügt.

Folgendes passiert, wenn ich nur das Datum angebe:

SELECT DATE_ADD('2021-05-01', INTERVAL 1 HOUR); 

Ergebnis:

+------------------------------------+| DATE_ADD('2021-05-01', INTERVALL 1 STUNDE) |+---------------------------------------------- -------+| 01.05.2021 01:00:00 |+-------------------------------------------------- ---+

Der Zeitteil wird an das Ergebnis angehängt, und es wird angenommen, dass die Anfangszeit 00:00:00 war .

Wenn Sie mehr als eine Stunde hinzufügen müssen, verwenden Sie einfach diese Zahl anstelle von 1 . Beachten Sie, dass die HOUR Schlüsselwort bleibt unabhängig davon Nicht-Plural:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 2 HOUR); 

Ergebnis:

+---------------------------------------------- ----+| DATE_ADD('2021-05-01 10:00:00', INTERVALL 2 STUNDEN) |+------------------------ ---------------------+| 2021-05-01 12:00:00 |+------------------------------------- -------------+

Es ist auch möglich, eine andere Datums-/Zeiteinheit mit der entsprechenden Nummer dieser Einheit zu verwenden. Daher können Sie eine bestimmte Anzahl von Minuten angeben, z. B. 60 oder 120.

Beispiel:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 60 MINUTE); 

Ergebnis:

+---------------------------------------------- -------+| DATE_ADD('2021-05-01 10:00:00', INTERVALL 60 MINUTE) |+------------------------------------------ ------------------------+| 2021-05-01 11:00:00 |+-------------------------------------------------- ---------------+

Sie können auch eine zusammengesetzte Datums-/Uhrzeiteinheit verwenden, um mehrere Einheiten hinzuzufügen. Wenn Sie beispielsweise 1 Stunde und 30 Minuten hinzufügen möchten, können Sie Folgendes tun:

SELECT 
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE); 

Ergebnis:

+---------------------------------------------- ----------------+| DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:30' HOUR_MINUTE) |+-------------------- -------------------------------------+| 2021-05-01 11:30:00 |+-------------------------------------------------- ------------------------+

Eine vollständige Liste der Datums-/Zeiteinheiten finden Sie unter MariaDB Date and Time Units.

Das ADDDATE() Funktion

Eine andere Möglichkeit, einem datetime-Ausdruck eine Stunde hinzuzufügen, ist die Verwendung von ADDDATE() Funktion. Diese Funktion hat zwei Syntaxen:

  1. Mit einer Syntax können Sie einem Datum eine Anzahl von Tagen hinzufügen, was wir hier nicht tun (es sei denn, wir planen, 24 Stunden hinzuzufügen).
  2. Die übrige Syntax ist die gleiche wie bei DATE_ADD() Funktion oben. Bei Verwendung dieser Syntax ADDDATE() ist ein Synonym für DATE_ADD() .

Beispiel:

SELECT ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR); 

Ergebnis:

+---------------------------------------------- ---+| HINZUFÜGEN('2021-05-01 10:00:00', INTERVALL 1 STUNDE) |+----------------------------------------- --------------------+| 2021-05-01 11:00:00 |+-------------------------------------------------- -----------+

Der DATE_SUB() Funktion

Das DATE_SUB() Funktion können Sie subtrahieren ein Betrag zu einem Datum. Wenn Sie jedoch einen negativen Wert zum Subtrahieren angeben, wird dieser letztendlich hinzugefügt zum Datum.

Beispiel:

SELECT DATE_SUB('2021-05-01 10:00:00', INTERVAL -1 HOUR); 

Ergebnis:

+---------------------------------------------- -----+| DATE_SUB('2021-05-01 10:00:00', INTERVALL -1 STUNDE) |+----------------------- -----------------------+| 2021-05-01 11:00:00 |+-------------------------------------------------- -------------+

Das SUBDATE() Funktion

Das SUBDATE() Funktion ist ein Synonym für DATE_SUB() bei Verwendung der folgenden Syntax.

Beispiel:

SELECT SUBDATE('2021-05-01 10:00:00', INTERVAL -1 HOUR); 

Ergebnis:

+---------------------------------------------- ----+| SUBDATE('2021-05-01 10:00:00', INTERVALL -1 STUNDE) |+----------------------- ----------------------+| 2021-05-01 11:00:00 |+-------------------------------------------------- -------------+

Der + Betreiber

Eine andere Möglichkeit ist die Verwendung von + Operator.

Das + Der Operator wird verwendet, um eine Addition durchzuführen, und wir können ihn zusammen mit der entsprechenden Datums-/Zeiteinheit für Datumsangaben verwenden, um eine bestimmte Anzahl von Stunden zu unserem Datum hinzuzufügen.

Beispiel:

SELECT '2021-05-01 10:00:00' + INTERVAL 1 HOUR; 

Ergebnis:

+------------------------------------+| '2021-05-01 10:00:00' + INTERVALL 1 STUNDE |+------------------------------- ---------+| 2021-05-01 11:00:00 |+-------------------------------------------------- ---+

Der - Betreiber

Der - Operator kann verwendet werden, um einen Betrag von einem Datum abzuziehen. Aber wenn es verwendet wird, um eine negative Zahl zu subtrahieren, dann ist das Ergebnis ein positiver Betrag, der zum Datum hinzugefügt wird:

SELECT '2021-05-01 10:00:00' - INTERVAL -1 HOUR; 

Ergebnis:

+--------------------------------------------------+| '2021-05-01 10:00:00' - INTERVALL -1 STUNDE |+------------------------------- -----------+| 2021-05-01 11:00:00 |+-------------------------------------------------- ----+

Die ADDTIME() Funktion

Sie können die ADDTIME() verwenden Funktion, um einem datetime-Ausdruck eine Anzahl von Stunden hinzuzufügen.

Beispiel:

SELECT ADDTIME('2021-05-01 10:30:45', '01:0:0'); 

Ergebnis:

+--------------------------------------------------+| ADDTIME('2021-05-01 10:30:45', '01:0:0') |+-------------------- ------------------+| 2021-05-01 11:30:45 |+--------------------------------------------------- ----+

Ein Vorteil dieser Funktion ist, dass Sie auch die anderen Zeiteinheiten wie Minuten, Sekunden usw. ändern können.

Die SUBTIME() Funktion

Sie können es alternativ umschalten und SUBTIME() verwenden mit einem negativen Wert, wenn Sie dies wünschen:

SELECT SUBTIME('2021-05-01 10:30:45', '-01:0:0'); 

Ergebnis:

+--------------------------------------------------+| UNTERZEIT('2021-05-01 10:30:45', '-01:0:0') |+------------------------ -------------------+| 2021-05-01 11:30:45 |+--------------------------------------------------- -----+

Andere Datums- und Zeiteinheiten

Die obigen Beispiele fügen dem datetime-Wert eine Anzahl von Stunden hinzu, aber wir können die gleichen Techniken verwenden, um eine beliebige Datums-/Zeiteinheit hinzuzufügen. Eine vollständige Liste der Datums-/Zeiteinheiten, die mit den oben genannten Funktionen und Operatoren verwendet werden können, finden Sie unter MariaDB-Datums- und Zeiteinheiten.