Heim >Datenbank >MySQL-Tutorial >So konvertieren Sie die Zeit in MySQL
In MySQL wird die Zeit oft in Form von Zeichenfolgen in Tabellen gespeichert, was jedoch für die Zeitberechnung und den Zeitvergleich unpraktisch ist. Daher ist es notwendig, die Zeichenfolgentypzeit in einen Zeittyp umzuwandeln, um unsere zugehörigen Vorgänge zu erleichtern. In diesem Artikel wird erläutert, wie Sie die Zeit in MySQL konvertieren.
In MySQL kann die Zeit durch DATETIME, TIMESTAMP, DATE, TIME und andere Typen dargestellt werden. Die Zeit, die diese Typen in MySQL speichern, ist UTC-Zeit.
Um die Zeichenfolgentypzeit in den Zeittyp umzuwandeln, können Sie die von MySQL bereitgestellte Funktion STR_TO_DATE() verwenden. Die Syntax dieser Funktion lautet wie folgt:
STR_TO_DATE(str, format)
Unter diesen repräsentiert str die zu konvertierende Zeichenfolge und format das Format von Datum und Uhrzeit in der Zeichenfolge. Beispiel:
SELECT STR_TO_DATE('2019-08-14 21:12:23', '%Y-%m-%d %H:%i:%s');
Diese SQL-Anweisung gibt eine Uhrzeit vom Typ DATETIME zurück, die den 14. August 2019, 21:12:23 Uhr, angibt.
Bei Verwendung der Funktion STR_TO_DATE() müssen Sie die folgenden Punkte beachten:
Zusätzlich zur Funktion STR_TO_DATE() können Sie auch die Funktion UNIX_TIMESTAMP() verwenden, um Zeit vom Typ String in einen UNIX-Zeitstempel umzuwandeln. Der UNIX-Zeitstempel stellt die Anzahl der Sekunden vom 1. Januar 1970 um 00:00:00 Uhr bis zur aktuellen Zeit dar. Es handelt sich um eine Ganzzahl. Zum Beispiel:
SELECT UNIX_TIMESTAMP('2019-08-14 21:12:23');
Diese SQL-Anweisung gibt eine Ganzzahl zurück, die den UNIX-Zeitstempel von 21:12:23 am 14. August 2019 darstellt.
Da sowohl UNIX-Zeitstempel als auch Zeittypen in MySQL UTC-Zeiten sind, können sie direkt verglichen und berechnet werden. Sie können beispielsweise UNIX_TIMESTAMP() verwenden, um den Zeittyp in einen UNIX-Zeitstempel umzuwandeln und diese dann zu subtrahieren, um die Zeitdifferenz zwischen den beiden Zeiten zu erhalten. Beispiel:
SELECT UNIX_TIMESTAMP('2019-08-14 21:12:23') - UNIX_TIMESTAMP('2019-08-14 21:12:21');
Diese SQL-Anweisung gibt eine Ganzzahl zurück, die den Zeitunterschied zwischen 21:12:23 Uhr am 14. August 2019 und 21:12:21 Uhr am 14. August 2019 darstellt, also 2 Sekunden.
Zusätzlich zur Konvertierung der Zeichenfolgentypzeit in den Zeittyp können Sie auch die Funktion DATE_FORMAT() verwenden, um den Zeittyp in den Zeichenfolgentyp zu konvertieren. Die Syntax dieser Funktion lautet wie folgt:
DATE_FORMAT(date, format)
Dabei ist Datum die zu konvertierende Zeit und Format das zurückgegebene Zeichenfolgenformat. Zum Beispiel:
SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:%i:%s');
Diese SQL-Anweisung gibt die Zeichenfolgendarstellung der aktuellen Zeit im Format „JJJJ-MM-TT HH:MI:SS“ zurück.
Zusammenfassung:
In MySQL wird die Zeit häufig in Tabellen in Form von Zeichenfolgen gespeichert. Um die Zeitberechnung und den Zeitvergleich zu erleichtern, muss die Zeichenfolgentypzeit in einen Zeittyp zur direkten Berechnung und zum direkten Vergleich umgewandelt werden. Sie können die von MySQL bereitgestellten Funktionen STR_TO_DATE() und UNIX_TIMESTAMP() verwenden, um die Zeichenfolgentypzeit in einen Zeittyp oder UNIX-Zeitstempel zu konvertieren, oder Sie können die Funktion DATE_FORMAT() verwenden, um den Zeittyp in einen Zeichenfolgentyp zu konvertieren. Bei der Verwendung von Konvertierungsfunktionen müssen Sie auf die Spezifikationen für das Schreiben von Formatzeichenfolgen und die Verwendung des strikten Modus achten.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie die Zeit in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!