In MySQL der TIMESTAMP()
Die Funktion gibt basierend auf dem/den übergebenen Argument/en einen datetime-Wert zurück. Sie können ein oder zwei Argumente angeben. Wenn Sie zwei angeben, wird das zweite zum ersten hinzugefügt und das Ergebnis zurückgegeben.
Syntax
Sie können eine dieser beiden Formen verwenden:
TIMESTAMP(expr)TIMESTAMP(expr1,expr2)
Das erste Argument (expr
und expr1
) ist ein Datums- oder DateTime-Ausdruck. Das zweite Argument (expr2
) ist ein Zeitausdruck. Wenn Sie zwei Argumente angeben, expr2
wird zu expr1
hinzugefügt und das Ergebnis ist ein datetime-Wert.
Beispiel 1 – Geben Sie ein „Datum“-Argument an
In diesem Beispiel gebe ich einen Datumsausdruck an.
SELECT TIMESTAMP('1999-12-31');
Ergebnis:
+-------------------------+| ZEITSTEMPEL('1999-12-31') |+--------------------+| 1999-12-31 00:00:00 |+-------------------------+
Das Ergebnis ist also ein datetime-Wert, unabhängig davon, ob unser Argument ein date- oder datetime-Ausdruck war.
Beispiel 2 – Geben Sie ein „datetime“-Argument an
Und hier ist ein Beispiel mit einem datetime-Ausdruck.
SELECT TIMESTAMP('1999-12-31 23:59:59');
Ergebnis:
+----------------------------------------------+| ZEITSTEMPEL('1999-12-31 23:59:59') |+--------------------------------------------- -+| 1999-12-31 23:59:59 |+----------------------------------------------+
Beispiel 3 – Sekundenbruchteile einbeziehen
Sie können auch einen Sekundenbruchteil bis zu Mikrosekunden (6 Ziffern) hinzufügen. Wenn Sie dies tun, enthält das Ergebnis auch diesen Teil.
SELECT TIMESTAMP('1999-12-31 23:59:59.999999');
Ergebnis:
+------------------------------------+| ZEITSTEMPEL('1999-12-31 23:59:59.999999') |+-------------------------------- --------+| 1999-12-31 23:59:59.999999 |+------------------------------------- ---+
Beispiel 4 – Bereitstellung von 2 Argumenten
Hier ist ein Beispiel mit zwei Argumenten. Wie bereits erwähnt, wird der zweite zum ersten hinzugefügt.
SELECT TIMESTAMP('1999-12-31', '12:30:45');
Ergebnis:
+-------------------------------------+| ZEITSTEMPEL('1999-12-31', '12:30:45') |+------------------------------ -------+| 1999-12-31 12:30:45 |+-------------------------------------+
Beispiel 5 – Größere „Zeit“-Werte
Der Zeitdatentyp kann einen Bereich von -838:59:59 haben zu 838:59:59 . Dies liegt daran, dass es nicht nur auf die Darstellung der Tageszeit beschränkt ist. Es könnte auch verwendet werden, um die verstrichene Zeit darzustellen. In diesem Fall verwenden wir es, um eine große Anzahl von Stunden zu einem Datumswert hinzuzufügen.
SELECT TIMESTAMP('1999-12-31', '400:30:45');
Ergebnis:
Beispiel 6 – Negative Werte
Sie können das zweite Argument vom ersten subtrahieren, indem Sie dem zweiten Wert einfach ein Minuszeichen voranstellen.
SELECT TIMESTAMP('1999-12-31', '-400:30:45');
Ergebnis:
+--------------------------+| ZEITSTEMPEL('1999-12-31', '-400:30:45') |+------------------------ ----------+| 1999-12-14 07:29:15 |+------------------------------------- -+
Beispiel 7 – Verwenden des aktuellen Datums
Wenn Sie einen Zeitstempel wünschen, der das aktuelle Datum verwendet, interessieren Sie sich möglicherweise mehr für Funktionen wie NOW()
, CURDATE()
, und möglicherweise sogar SYSDATE()
(Für den Unterschied siehe SYSDATE()
vs NOW()
).
Der TIMESTAMP()
Die Funktion kann in bestimmten Fällen dennoch Ihre bevorzugte Funktion sein, beispielsweise wenn Sie dem aktuellen Datum einen Zeitwert hinzufügen möchten.
SELECT TIMESTAMP(CURDATE()) AS 'Heute', TIMESTAMP(CURDATE(), '24:00:00') AS 'Morgen';
Ergebnis:
+---------------------+---------------------+| Heute | Morgen |+---------------------+---------------------+| 2018-07-03 00:00:00 | 2018-07-04 00:00:00 |+---------------------+---------------- -----+
Die TIMESTAMPADD()-Funktion
Sie können TIMESTAMPADD()
verwenden Funktion zum Addieren einer bestimmten Einheit zu einem Datums- oder Datumszeitwert. Diese Funktion akzeptiert auch Einheiten wie Tage, Monate, Jahre usw.
Wenn Sie TIMESTAMP()
finden zu restriktiv für Ihre Bedürfnisse, siehe TIMESTAMPADD()
Beispiele.