首页 >数据库 >mysql教程 >如何将 SQL Server DATETIMEOFFSET 转换为 UTC DATETIME?

如何将 SQL Server DATETIMEOFFSET 转换为 UTC DATETIME?

Linda Hamilton
Linda Hamilton原创
2024-12-31 21:04:14392浏览

How Do I Convert SQL Server DATETIMEOFFSET to UTC DATETIME?

将 Sql Server DATETIMEOFFSET 转换为 UTC DATETIME

在 SQL Server 中,DATETIMEOFFSET 值存储日期和时间,以及与 UTC 的偏移量。要在考虑偏移量的同时将 DATETIMEOFFSET 字段转换为 DATETIME 字段,从而有效地将其转换为 UTC,请考虑以下事项:

使用 CONVERT 或 CAST 将 DATETIMEOFFSET 值转换为 DATETIME2 将通过丢弃自动将该值转换为 UTC偏移量。例如:

DECLARE @createdon DATETIMEOFFSET = '2008-12-19 17:30:09.0000000 +11:00';
SELECT CONVERT(DATETIME2, @createdon, 1);
-- Output: 2008-12-19 06:30:09.0000000

但是,将 DATETIMEOFFSET 转换为 DATETIME 不会将偏移量设置为 UTC。要显式转换为偏移量为 00:00 的 DATETIME,请使用 DATETIMEOFFSET 函数:

SELECT CONVERT(DATETIMEOFFSET, CONVERT(DATETIME2, @createdon, 1));
-- Output: 2008-12-19 06:30:09.0000000 +00:00

以上是如何将 SQL Server DATETIMEOFFSET 转换为 UTC DATETIME?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn