【问题标题】:TSQL Converting DateOffset to UTCTSQL 将 DateOffset 转换为 UTC
【发布时间】:2011-09-20 07:12:12
【问题描述】:
我正在尝试将存储在 SQL Azure 中的 datetimeOffset 转换为 UTC DateTime,以便我可以执行正确的计算。
DateTimeOffset 存储为新西兰本地时间:
2011-05-31 21:40:00.0000000 +10:00
我需要将上述值转换为 UTC,以便我可以执行日期时间计算。有没有办法使用 TSQL 和 Azure SSRS 来实现这一点?
谢谢大家。
【问题讨论】:
标签:
sql
tsql
azure-sql-database
【解决方案1】:
这是另一个可能会给你一些想法的帖子:TSQL: How to convert local time to UTC? (SQL Server 2008)
在我的脑海中,如果您知道您正在使用的日期时间来自新西兰,那么您就会知道 UTC 偏移量是多少。它应该基于两个值之一(如果它们有夏令时)。
因此,使用函数调用来确定您是否处于夏令时的 dateadd 也是如此。如何确定给定日期是否处于夏令时?好问题。除非有一个可以转换为 CLR 函数的 .NET 函数,否则我只会创建一个查找表和一个针对它进行测试的函数。该函数返回一个布尔值或新西兰的正确偏移量。
我会将新的派生值保存到新列中,但我不确定您的需求是什么。