在 SQL 查詢中有效地將 UTC 日期時間轉換為本地時間
許多資料庫系統以 UTC 格式儲存時間戳記以保持一致性。 本指南示範如何直接在 SQL 查詢中將這些 UTC 日期時間列轉換為本機時間,從而無需外部程式碼。
SQL Server 2008 及更高版本:
此方法利用 SWITCHOFFSET
函數進行精確轉換:
SELECT CONVERT(datetime, SWITCHOFFSET(CONVERT(datetimeoffset, MyTable.UtcColumn), DATENAME(TzOffset, SYSDATETIMEOFFSET()))) AS ColumnInLocalTime FROM MyTable
替代(詳細)方法:
更直接但不太優雅的方法使用 DATEADD
和 DATEDIFF
:
SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn) AS ColumnInLocalTime FROM MyTable
主要考慮因素:
-
) 可能會產生不可預測的結果。 上述方法避免了這個問題。 此資訊可讓您直接在 SQL 查詢中執行高效且準確的 UTC 到本機時間轉換。
以上是如何在 SQL 中將 UTC 日期時間列轉換為本機時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!