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

8 Möglichkeiten zum Hinzufügen von Mikrosekunden zu einem Datetime-Wert in MariaDB

Wenn Sie einem datetime-Wert in MariaDB eine oder mehrere Mikrosekunden hinzufügen müssen, sollten Sie die folgenden 8 Optionen in Betracht ziehen.

Der DATE_ADD() Funktion

Das DATE_ADD() Mit der Funktion können Sie einem Datums- oder Datumszeitausdruck einen Betrag hinzufügen. Dazu gehört das Hinzufügen von Zeitteilen wie Stunden, Minuten, Sekunden, Mikrosekunden usw.

Beispiel:

SELECT DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND); 

Ergebnis:

+----------------------------------------------------------+
| DATE_ADD('2021-05-01 10:00:00', INTERVAL 35 MICROSECOND) |
+----------------------------------------------------------+
| 2021-05-01 10:00:00.000035                               |
+----------------------------------------------------------+ 

In diesem Fall habe ich dem datetime-Ausdruck 35 Mikrosekunden hinzugefügt. Beachten Sie, dass die SECOND Das Schlüsselwort bleibt nicht im Plural, unabhängig davon, ob ich eine Sekunde oder mehr hinzufüge.

Sie werden vielleicht auch bemerken, dass der Mikrosekunden-Anteil nicht in meinem ursprünglichen datetime-Wert enthalten war, aber er wurde hinzugefügt, als ich die Mikrosekunden hinzugefügt habe.

In ähnlicher Weise passiert Folgendes, wenn ich nur das Datum angebe:

SELECT DATE_ADD('2021-05-01', INTERVAL 35 MICROSECOND); 

Ergebnis:

+---------------------------------------------- ---+| DATE_ADD('2021-05-01', INTERVALL 35 MIKROSEKUNDE) |+---------------------------------------------- ---------------+| 2021-05-01 00:00:00.000035 |+------------------------------------- -----------+

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

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

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

Ergebnis:

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

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 Sekunden 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.
  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 35 MICROSECOND); 

Ergebnis:

+---------------------------------------------- -----------+| ADDDATE('2021-05-01 10:00:00', INTERVALL 35 MIKROSEKUNDE) |+------------------------ ----------------------------+| 2021-05-01 10:00:00.000035 |+------------------------------------- -------------------+

Der DATE_SUB() Funktion

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

Beispiel:

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

Ergebnis:

+---------------------------------------------- -------------+| DATE_SUB('2021-05-01 10:00:00', INTERVALL -35 MIKROSEKUNDE) |+----------------------- -------------------------------+| 2021-05-01 10:00:00.000035 |+------------------------------------- ---------------------+

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 -35 MICROSECOND); 

Ergebnis:

+---------------------------------------------- -------------+| SUBDATE('2021-05-01 10:00:00', INTERVALL -35 MIKROSEKUNDE) |+------------------------------------ ------------------------------+| 2021-05-01 10:00:00.000035 |+------------------------------------- --------------------+

Der + Betreiber

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

Das + -Operator wird verwendet, um Additionen durchzuführen, und wir können ihn zusammen mit der anwendbaren Datums-/Uhrzeiteinheit für Datumsangaben verwenden, um unserem datetime-Ausdruck eine bestimmte Anzahl von Mikrosekunden hinzuzufügen.

Beispiel:

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

Ergebnis:

+---------------------------------------------- ---+| '2021-05-01 10:00:00' + INTERVALL 35 MIKROSEKUNDE |+------------------------------- ------------------+| 2021-05-01 10:00:00.000035 |+------------------------------------- -----------+

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 datetime-Ausdruck hinzugefügt wird:

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

Ergebnis:

+---------------------------------------------- ----+| '2021-05-01 10:00:00' - INTERVALL -35 MIKROSEKUNDE |+------------------------------- -------------------+| 2021-05-01 10:00:00.000035 |+------------------------------------- -------------+

Die ADDTIME() Funktion

Sie können die ADDTIME() verwenden Funktion zum Hinzufügen einer Anzahl von Millisekunden zu einem datetime-Ausdruck.

Beispiel:

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

Ergebnis:

+---------------------------------------------- -----+| ADDTIME('2021-05-01 10:00:00', '00:00:00.123456') |+-------------------- --------------------------+| 2021-05-01 10:00:00.123456 |+-------------------------------------- -------------+

Ein Vorteil dieser Funktion ist, dass Sie auch die anderen Zeiteinheiten wie Stunden, 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:00:00', '-00:00:00.123456'); 

Ergebnis:

+---------------------------------------------- ------+| SUBTIME('2021-05-01 10:00:00', '-00:00:00.123456') |+------------------------ ----------------------------+| 2021-05-01 10:00:00.123456 |+-------------------------------------- --------------+

Andere Datums- und Zeiteinheiten

Die obigen Beispiele fügen dem datetime-Wert eine Reihe von Mikrosekunden 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.