Heim  >  Artikel  >  Datenbank  >  So konvertieren Sie die Zeit in MySQL

So konvertieren Sie die Zeit in MySQL

PHPz
PHPzOriginal
2023-04-20 10:10:074269Durchsuche

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:

  1. Groß- und Kleinschreibung des Bezeichners: Der Fall von Bezeichnern (wie Y, m, d, H, i, s usw.) in der Formatzeichenfolge ist Es gibt einen Unterschied. Großbuchstaben bedeuten strikte Übereinstimmung, Kleinbuchstaben bedeuten lose Übereinstimmung. Beispielsweise stellt %m den numerischen Monat dar, der Formate wie 01 und 1 akzeptieren kann, und %M stellt den englischen Monat dar, der eine genaue Übereinstimmung erfordert.
  2. Trennzeichen: Das in der Formatzeichenfolge verwendete Trennzeichen muss mit dem in der tatsächlichen Zeichenfolge verwendeten Trennzeichen übereinstimmen. Wenn beispielsweise „-“ als Datumstrennzeichen in der eigentlichen Zeichenfolge verwendet wird, muss „-“ auch als Trennzeichen in der Formatzeichenfolge verwendet werden.
  3. Strenger Modus: Wenn die Formatzeichenfolge nicht mit der tatsächlichen Zeichenfolge übereinstimmen kann und der strikte Modus verwendet wird (z. B. wenn sql_mode in der MySQL-Konfigurationsdatei auf STRICT_ALL_TABLES gesetzt wird), wird ein Fehler zurückgegeben zurückgegeben werden NULL zurückgeben.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn