Mysql
 sql >> Datenbank >  >> RDS >> Mysql

TIMESTAMP()-Beispiele – MySQL

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:

+--------------------------------------+| ZEITSTEMPEL('1999-12-31', '400:30:45') |+------------------------------ --------+| 2000-01-16 16:30:45 |+------------------------------------- +

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.