SQL Server:將 Bigint UNIX 時間戳記轉換為日期時間值
本指南詳細介紹了 SQL Server 中 bigint UNIX 時間戳記到 DateTime 物件的轉換。 這個過程需要一個公式來解釋 UNIX 和 SQL Server 紀元之間的時間差異。
轉換方法:
以下 SQL 語句有效執行轉換:
<code class="language-sql">SELECT DATEADD(second, [unixtime], '19700101') FROM [Table];</code>
理解公式:
DATEADD
函數將[unixtime]
(您的bigint 時間戳記)指定的秒數加到UNIX 紀元,產生對應的日期時間值。 紀元時間解釋:
紀元時間表示自 UNIX 紀元以來經過的秒數。
解決 2038 年問題:
SQL Server 的 DATEADD
函式使用整數參數來表示秒數。 時間戳超過 2,147,483,647 秒(約 68 年)將導致算術溢出錯誤。
解 2038 年限制:
為了解決這個問題,請使用兩個單獨的 DATEADD
操作將時間戳分為年和剩餘秒。這種擴展方法可以處理 2038 年之後的時間戳記。 (如果需要,需要在此處新增此多步驟方法的具體範例,以顯示年份和剩餘秒數的細分。)
以上是如何在 SQL Server 中將 Bigint UNIX 時間戳記轉換為 DateTime?的詳細內容。更多資訊請關注PHP中文網其他相關文章!