如何在 MySQL 中將紀元數字轉換為人類可讀的日期?

Barbara Streisand
發布: 2024-10-26 16:28:03
原創
931 人瀏覽過

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

在 MySQL 中將紀元號轉換為人類可讀的日期

在資料庫管理領域,通常需要將紀元號轉換為人類可讀的日期。紀元編號表示自訂紀元以來的某個時間點,通常用於在 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!