Heim > Datenbank > MySQL-Tutorial > Wie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?

Wie konvertiere ich Epochenzahlen in für Menschen lesbare Daten in MySQL?

Barbara Streisand
Freigeben: 2024-10-26 16:28:03
Original
1014 Leute haben es durchsucht

How to Convert Epoch Numbers to Human-Readable Dates in MySQL?

Konvertieren von Epochennummern 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>
Nach dem Login kopieren

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                      |
+------------------------------------------+
Nach dem Login kopieren

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>
Nach dem Login kopieren

Dies ergibt die folgende Ausgabe:

+------------------------------------------+
| from_unixtime(1594838230234/1000)        |
+------------------------------------------+
| 2020-07-15 18:37:10.2340                 |
+------------------------------------------+
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage