Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?
Im Bereich der Datenbankverwaltung ist es häufig erforderlich, Epochennummern in für Menschen lesbare Daten umzuwandeln. Epochennummern, die einen Zeitpunkt seit einer definierten Epoche darstellen, werden häufig zum Speichern von Zeitdaten in Datenbanksystemen wie MySQL verwendet.
Stellen Sie sich das hypothetische Szenario vor, in dem Sie eine Epochennummer wie 1389422614485 haben, die Folgendes darstellt einen bestimmten Zeitpunkt. Der Datentyp dieses Werts ist varchar, und Sie möchten ihn in ein verständliches Datumsformat umwandeln.
Detaillierte Lösung
Um diese Konvertierung in MySQL durchzuführen, müssen Sie Folgendes tun Sie müssen eine Kombination aus mathematischen Funktionen und der Funktion from_unixtime() nutzen:
<code class="sql">mysql> select from_unixtime(floor(1389422614485/1000));</code>
Erklärung
In diesem Beispiel wird die Funktion from_unixtime() zum Konvertieren verwendet die Epochennummer, die normalerweise die Millisekunden seit der Epoche darstellt, in eine Datumszeichenfolge. Da unsere Epochennummer eine Millisekundengenauigkeit zu haben scheint, verwenden wir floor(1389422614485/1000), um sie in Sekunden seit der Epoche umzuwandeln, was die Eingabe ist, die from_unixtime() erwartet.
Ausgabe
+------------------------------------------+ | from_unixtime(floor(1389422614485/1000)) | +------------------------------------------+ | 2014-01-11 12:13:34 | +------------------------------------------+
Die Ausgabe zeigt das menschenlesbare Datum an, das der angegebenen Epochennummer entspricht, im Format „JJJJ-MM-TT HH:MM:SS“.
Update für MySQL 8.0 und höher
Ab MySQL Version 8.0 ist die Floor-Funktion nicht mehr erforderlich, wenn in der Funktion from_unixtime() mit Millisekunden gearbeitet wird. Sie können die Epochennummer in Millisekunden direkt als Argument angeben:
<code class="sql">mysql> select from_unixtime(1594838230234/1000);</code>
Dies ergibt die folgende Ausgabe:
+------------------------------------------+ | from_unixtime(1594838230234/1000) | +------------------------------------------+ | 2020-07-15 18:37:10.2340 | +------------------------------------------+
Diese verfeinerte Version der Abfrage unterstützt jetzt auch Nanosekundengenauigkeit .
Das obige ist der detaillierte Inhalt vonWie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!