首頁 >資料庫 >mysql教程 >如何將 SQL Server 2008 DateTimeOffset 轉換為偏移調整的 DateTime?

如何將 SQL Server 2008 DateTimeOffset 轉換為偏移調整的 DateTime?

Susan Sarandon
Susan Sarandon原創
2025-01-03 16:33:42767瀏覽

How to Convert SQL Server 2008 DateTimeOffset to DateTime with Offset Adjustment?

將SQL Server 2008 DateTimeOffset 轉換為具有偏移調整的DateTime

使用資料庫時,可能需要轉換資料類型以確保相容性或促進數據分析。一種常見的轉換涉及將 DATETIMEOFFSET 字段更改為 DATETIME 字段,同時根據指定的偏移量重新計算時間。本指南提供了有效完成此轉換的步驟。

轉換過程

從DATETIMEOFFSET 到DATETIME 的轉換涉及以下過程:

  1. 使用CONVERT CONVERT函數轉換DATETIMEOFFSET值轉換為樣式1 的DATETIME2 資料類型,在轉換為 UTC 時保留日期和時間。
CONVERT(datetime2, @created_on, 1)
  1. 轉換回 DATETIMEOFFSET: 保留以 DATETIMEOFFSET 格式調整時間,將 DATETIME2 值轉換回 DATETIMEOFFSET 並指定偏移量00:00。
CONVERT(datetimeoffset, CONVERT(datetime2, @created_on, 1))

轉換範例

讓我們考慮以下DATETIMEOFFSET 值:

@created_on = '2008-12-19 17:30:09.1234567 +11:00'
將此值轉換為使用CONVERT 和CONVERT 函數的DATETIME會產生以下結果值:

CONVERT(datetime2, @created_on, 1) = '2008-12-19 06:30:09.12'
CONVERT(datetimeoffset, CONVERT(datetime2, @created_on, 1)) = '2008-12-19 06:30:09.1234567 +00:00'
從範例中可以看出,轉換過程會考慮偏移量 ( 11:00) 重新計算時間,並將數值轉換為 UTC ( 00:00)。

以上是如何將 SQL Server 2008 DateTimeOffset 轉換為偏移調整的 DateTime?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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