如何在MySQL 中保存毫秒精度的時間戳
在MySQL 中處理精確時間戳時,了解時間戳的局限性變變得很重要時間戳資料類型。預設情況下,MySQL 以秒精度儲存時間戳記。如果您需要以毫秒精度儲存時間戳,則需要考慮一些因素。
升級 MySQL
首先,MySQL 版本需要 5.6.4 或更高版本才能支援小數-第二次資料型態。若要驗證您的版本,請使用查詢 SELECT NOW(3)。如果發生錯誤,您可能需要升級 MySQL。
列聲明
要建立具有小數秒時間資料類型的列,請使用以下語法:
DATETIME(n)
其中n 代表秒的小數部分。例如,DATETIME(3) 將提供毫秒解析度。同樣,可以使用 TIMESTAMP(n),其中 n 指定 Unix 風格時間戳記的微秒解析度。
檢索亞秒時間
用於檢索系統時間毫秒精度,請使用NOW(3):
SELECT NOW(3);
如果您的時間戳表示為自Unix 紀元以來的毫秒數(例如JavaScript 時間戳記),使用FROM_UNIXTIME(ms * 0.001) 進行轉換。
較舊的 MySQL 版本
如果無法升級 MySQL ,請考慮使用 BIGINT 或 DOUBLE 欄位將時間戳記儲存為數字。仍然可以使用 FROM_UNIXTIME(col * 0.001) 來實現微秒的轉換。若要將目前時間儲存在此類列中,請使用 UNIX_TIMESTAMP() * 1000。
結論
透過了解小數秒時間資料類型和轉換技術,您可以在 MySQL 中有效地儲存和擷取毫秒精度的時間戳記。確保您擁有適當的 MySQL 版本並實現正確的列聲明語法是使用亞秒時間戳記的關鍵。
以上是如何在MySQL中實現毫秒精度的時間戳記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!