Heim  >  Artikel  >  Datenbank  >  So führen Sie eine Zeitkonvertierung in MySQL durch

So führen Sie eine Zeitkonvertierung in MySQL durch

王林
王林nach vorne
2023-05-28 12:05:211499Durchsuche

MySQL unterstützt verschiedene Arten von Zeitausdrücken wie DATETIME, TIMESTAMP, DATE und TIME. Die Zeit, die diese Typen in MySQL speichern, ist UTC-Zeit.

Verwenden Sie die Funktion STR_TO_DATE() in MySQL, um eine Zeitzeichenfolge in einen Zeittyp umzuwandeln. 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 auf folgende Punkte achten:

  1. In der Formatzeichenfolge ist die Groß-/Kleinschreibung von Bezeichnern (z. B. Y, m, d, H, i, s usw.) .) ist anders als. 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. Das in der Formatzeichenfolge verwendete Trennzeichen muss mit dem in der tatsächlichen Zeichenfolge verwendeten Trennzeichen identisch sein. Wenn in der eigentlichen Zeichenfolge „-“ als Datumstrennzeichen verwendet wird, muss auch die Formatzeichenfolge „-“ als Trennzeichen verwenden.

  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, wenn der strikte Modus nicht verwendet wird wird zurückgegeben.

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. Ein UNIX-Zeitstempel ist eine Ganzzahl, die die Anzahl der Sekunden angibt, die seit 00:00:00 Uhr am 1. Januar 1970, dem aktuellen Zeitpunkt, vergangen sind. 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 die Zeittypen in UNIX-Zeitstempel und MySQL auf der UTC-Zeit basieren, 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.

Das obige ist der detaillierte Inhalt vonSo führen Sie eine Zeitkonvertierung in MySQL durch. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen