SQL Server:將 UNIX 時間戳記轉換為日期時間
UNIX 時間戳,儲存為 bigint
值,表示自 Unix 紀元(1970 年 1 月 1 日,00:00:00 UTC)以來經過的秒數。 將它們轉換為 SQL Server 的 DATETIME
格式可以簡化資料庫管理。
一個簡單的方法使用DATEADD
:
<code class="language-sql">SELECT DATEADD(second, [unixtime], '19700101') FROM [Table];</code>
這會將 unixtime
(來自 [unixtime]
欄位)加到紀元日期,產生對應的 DATETIME
。
了解時代
'19700101'代表紀元-UNIX時間戳系統的原點。將時間戳記到該日期可以有效地將數字時間戳轉換為人類可讀的日期和時間。
解決 2038 年問題
DATEADD
的整數限制(最大 2,147,483,647 秒)對超過此值的時間戳提出了挑戰。 為了處理 2038 年之後的日期,需要一種更強大的方法,可能涉及將時間戳拆分為年份和剩餘秒數部分,以進行單獨的 DATEADD
操作。 這可以避免算術溢出錯誤。
以上是如何在 SQL Server 中將 UNIX 時間戳記轉換為日期時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!