In MariaDB, TIMESTAMP()
ist eine eingebaute Datums- und Uhrzeitfunktion, die basierend auf ihrem/n Argument/en einen Datum/Uhrzeit-Wert zurückgibt.
Es kann wie folgt mit einem oder zwei Argumenten verwendet werden:
- Wenn es mit einem Argument verwendet wird, gibt es diesen Datums- oder Datumszeit-Ausdruck als Datumszeit-Wert zurück.
- Wenn es mit zwei Argumenten verwendet wird, fügt es das zweite (time) Argument zum ersten (date oder datetime) Ausdruck hinzu und gibt dann den resultierenden datetime Wert zurück.
Syntax
Es kann auf zwei Arten verwendet werden:
TIMESTAMP(expr)
TIMESTAMP(expr1,expr2)
Wobei expr1
ein Datums- oder Datumszeitausdruck ist und expr2
ist ein Zeitausdruck, der zu expr1
hinzugefügt werden soll .
Beispiel
Hier ist ein Beispiel zur Veranschaulichung:
SELECT TIMESTAMP('2030-02-01');
Ergebnis:
+-------------------------+| ZEITSTEMPEL('2030-02-01') |+--------------------+| 2030-02-01 00:00:00 |+--------------------+
Datum/Uhrzeit-Werte
Hier ist ein Beispiel für die Übergabe eines datetime-Werts:
SELECT TIMESTAMP('2030-02-01 10:30:45');
Ergebnis:
+----------------------------------------------+| ZEITSTEMPEL('2030-02-01 10:30:45') |+--------------------------------------------- -+| 2030-02-01 10:30:45 |+----------------------------------------------+
Zweites Argument
Hier ist ein Beispiel, das das zweite Argument zum ersten hinzufügt:
SELECT TIMESTAMP('2030-02-01 10:30:45', '02:15:15');
Ergebnis:
Mikrosekunden
Hier ist ein Beispiel, das Mikrosekunden hinzufügt:
SELECT TIMESTAMP('2030-02-01 10:30:45', '00:00:00.123456');
Ergebnis:
Negative Zeiten
Negative Zeiten sind gültig:
Beispiel:
SELECT TIMESTAMP('2030-02-01 10:30:45', '-09:20:00');
Ergebnis:
Aktuelles Datum
Wir können NOW()
übergeben als datetime-Argument, um das aktuelle Datum und die aktuelle Uhrzeit zu verwenden:
SELECT
NOW(),
TIMESTAMP(NOW(), '10:30:45');
Ergebnis:
+---------------------+-------------------------------- ------+| JETZT() | ZEITSTEMPEL(JETZT(), '10:30:45') |+---------------------+------------ ------------------+| 2021-05-28 09:25:09 | 2021-05-28 19:55:54 |+---------------------+---------------- --------------+
Ungültige Argumente
Wenn ein ungültiges Argument übergeben wird, TIMESTAMP()
gibt null
zurück mit einer Warnung:
SELECT TIMESTAMP('Ten Thirty AM');
Ergebnis:
+-----------------------------------+| TIMESTAMP('Zehn Uhr dreißig') |+------------------------------------+| NULL |+------------------------------------+1 Zeile im Satz, 1 Warnung (0,004 Sek.)
Überprüfen Sie die Warnung:
SHOW WARNINGS;
Ergebnis:
+---------+------+------------------------------------- ----------+| Ebene | Code | Nachricht |+---------+------+------------------------------ ---------+| Warnung | 1292 | Falscher Zeitwert:'Ten Thirty AM' |+---------+------+--------------------- ------------------+
Fehlendes Argument
Aufruf von TIMESTAMP()
mit der falschen Anzahl von Argumenten oder ohne Übergabe von Argumenten führt zu einem Fehler:
SELECT TIMESTAMP();
Ergebnis:
ERROR 1064 (42000):Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax, um sie in der Nähe von ')' in Zeile 1 zu verwenden
Und noch ein Beispiel:
SELECT TIMESTAMP('2020-12-09', '06:30:45', '06:30:45');
Ergebnis:
ERROR 1064 (42000):Sie haben einen Fehler in Ihrer SQL-Syntax; Überprüfen Sie das Handbuch, das Ihrer MariaDB-Serverversion entspricht, auf die richtige Syntax für die Verwendung in der Nähe von ' '06:30:45')' in Zeile 1