首頁 > 資料庫 > mysql教程 > 如何在 SQL Server 中將 Bigint UNIX 時間戳記轉換為 DateTime?

如何在 SQL Server 中將 Bigint UNIX 時間戳記轉換為 DateTime?

Patricia Arquette
發布: 2025-01-17 16:34:11
原創
524 人瀏覽過

How to Convert a Bigint UNIX Timestamp to DateTime in SQL Server?

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>
登入後複製

理解公式:

  • '19700101': 這代表 UNIX 紀元 - UNIX 時間戳的起點(1970 年 1 月 1 日,00:00:00 UTC)。
  • DATEADD(second, [unixtime], '19700101'): DATEADD 函數將[unixtime] (您的bigint 時間戳記)指定的秒數加到UNIX 紀元,產生對應的日期時間值。

紀元時間解釋:

紀元時間表示自 UNIX 紀元以來經過的秒數。

解決 2038 年問題:

SQL Server 的 DATEADD 函式使用整數參數來表示秒數。 時間戳超過 2,147,483,647 秒(約 68 年)將導致算術溢出錯誤。

解 2038 年限制:

為了解決這個問題,請使用兩個單獨的 DATEADD 操作將時間戳分為年和剩餘秒。這種擴展方法可以處理 2038 年之後的時間戳記。 (如果需要,需要在此處新增此多步驟方法的具體範例,以顯示年份和剩餘秒數的細分。)

以上是如何在 SQL Server 中將 Bigint UNIX 時間戳記轉換為 DateTime?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板