首頁 >資料庫 >mysql教程 >如何在 SQL Server 中建立等效的 UNIX_TIMESTAMP() 函數?

如何在 SQL Server 中建立等效的 UNIX_TIMESTAMP() 函數?

Linda Hamilton
Linda Hamilton原創
2024-12-21 11:02:13618瀏覽

How to Create a UNIX_TIMESTAMP() Function Equivalent in SQL Server?

在SQL Server 中建立UNIX_TIMESTAMP() 函數

MySQL 的UNIX_TIMESTAMP() 函數是將日期轉換為Unix 時間的有用工具,它表示自1970 年1 月1 日以來經過的秒數。雖然 SQL Server 沒有此函數的內建等效項,可以建立自訂函數來實現類似的功能。

對於1970 年之後的日期

如果您不關心1970 年之前的日期或毫秒精度,您可以使用以下簡單公式:

SELECT DATEDIFF(s, '1970-01-01 00:00:00', DateField);

此公式計算數字指定DateField 與1970 年1 月1 日之間的秒數。它與 MySQL 的 UNIX_TIMESTAMP() 函數的輸出非常吻合。

對於毫秒精度

如果需要毫秒精度,您可以在 SQL Server 2016/13.x 及更高版本中使用 DATEDIFF_BIG() 函數。這是修改後的公式:

SELECT DATEDIFF_BIG(ms, '1970-01-01 00:00:00', DateField);

以上是如何在 SQL Server 中建立等效的 UNIX_TIMESTAMP() 函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn