Dalam bidang pengurusan pangkalan data, selalunya perlu untuk menukar nombor zaman kepada tarikh yang boleh dibaca manusia. Nombor zaman, yang mewakili titik masa sejak zaman yang ditentukan, biasanya digunakan untuk menyimpan data temporal dalam sistem pangkalan data seperti MySQL.
Pertimbangkan senario hipotetikal di mana anda mempunyai nombor zaman, seperti 1389422614485, yang mewakili titik masa tertentu. Jenis data bagi nilai ini ialah varchar, dan anda ingin mengubahnya menjadi format tarikh yang boleh difahami.
Penyelesaian Terperinci
Untuk mencapai penukaran ini dalam MySQL, anda akan perlu memanfaatkan gabungan fungsi matematik dan fungsi from_unixtime():
<code class="sql">mysql> select from_unixtime(floor(1389422614485/1000));</code>
Penjelasan
Dalam contoh ini, fungsi from_unixtime() digunakan untuk menukar nombor zaman, yang biasanya mewakili milisaat sejak zaman itu, menjadi rentetan tarikh. Memandangkan nombor epok kami nampaknya mempunyai ketepatan milisaat, kami menggunakan floor(1389422614485/1000) untuk menukarnya kepada saat sejak zaman itu, iaitu input yang dijangkakan from_unixtime().
Output
+------------------------------------------+ | from_unixtime(floor(1389422614485/1000)) | +------------------------------------------+ | 2014-01-11 12:13:34 | +------------------------------------------+
Output memaparkan tarikh boleh dibaca manusia yang sepadan dengan nombor zaman yang diberikan, dengan formatnya ialah 'YYYY-MM-DD HH:MM:SS'.
Kemas kini untuk MySQL 8.0 dan Ke Atas
Setakat MySQL versi 8.0, fungsi lantai tidak lagi diperlukan apabila bekerja dengan milisaat dalam fungsi from_unixtime(). Anda boleh terus memberikan nombor zaman dalam milisaat sebagai hujah:
<code class="sql">mysql> select from_unixtime(1594838230234/1000);</code>
Ini akan menghasilkan output berikut:
+------------------------------------------+ | from_unixtime(1594838230234/1000) | +------------------------------------------+ | 2020-07-15 18:37:10.2340 | +------------------------------------------+
Versi pertanyaan yang diperhalusi ini kini menyokong ketepatan nanosaat juga .
Atas ialah kandungan terperinci Bagaimana untuk Menukar Nombor Epoch kepada Tarikh Boleh Dibaca Manusia dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!