在資料庫管理領域,通常需要將紀元號轉換為人類可讀的日期。紀元編號表示自訂紀元以來的某個時間點,通常用於在 MySQL 等資料庫系統中儲存時態資料。
假設您有一個紀元編號,例如 1389422614485,它代表一個特定的時間點。該值的資料類型是varchar,您希望將其轉換為可理解的日期格式。
詳細解決方案
要在MySQL中完成此轉換,您將需要利用數學函數和from_unixtime() 函數的組合:
<code class="sql">mysql> select from_unixtime(floor(1389422614485/1000));</code>
說明
在此範例中,使用from_unixtime() 函數轉換將紀元號(通常表示自紀元以來的毫秒數)轉換為日期字串。由於我們的紀元數似乎具有毫秒精度,因此我們使用 Floor(1389422614485/1000) 將其轉換為自紀元以來的秒數,這是 from_unixtime() 期望的輸入。
輸出
+------------------------------------------+ | from_unixtime(floor(1389422614485/1000)) | +------------------------------------------+ | 2014-01-11 12:13:34 | +------------------------------------------+
輸出顯示與給定紀元編號對應的人類可讀日期,格式為'YYYY-MM-DD HH:MM:SS' 。
MySQL 8.0 及更高版本的更新
從 MySQL 8.0 版本開始,在 from_unixtime() 函數中處理毫秒時,不再需要下限函數。您可以直接提供以毫秒為單位的紀元數作為參數:
<code class="sql">mysql> select from_unixtime(1594838230234/1000);</code>
這將產生以下輸出:
+------------------------------------------+ | from_unixtime(1594838230234/1000) | +------------------------------------------+ | 2020-07-15 18:37:10.2340 | +------------------------------------------+
此查詢的改進版本現在也支援奈秒精度.
以上是如何在 MySQL 中將紀元數字轉換為人類可讀的日期?的詳細內容。更多資訊請關注PHP中文網其他相關文章!