我有一个数据库,其中包含当前以本地时间存储的日期时间字段。即将进行的项目将需要将所有这些日期转换为通用时间。与其编写一个 c# 应用程序将这些时间转换为世界时间,我宁愿使用可用的 sqlserver/sql 功能将这些日期准确地转换为世界时间,所以我只需要一个更新脚本。为了准确起见,转换需要考虑夏令时波动等因素。
最佳答案
用户定义的函数将允许您编写如下所示的 SQL 查询:
SELECT toUTC([MyDateColumn], [MyTimeZoneColumn]) FROM [MyTable]
然后您可以从服务器返回通用时间,而查询本身无需使用很多难看的语法。现在您可以使用类似于 Chris 发布的常规 SQL 为此构建 UDF,但 SQL Server 2005 及更高版本将允许您使用 CLR(.Net:C# 可选)来构建 UDF。它对日期有更好的支持,并且可以更好地考虑时区和夏令时。
关于sql - 如何使用 SQL 将 Sql Server DateTime 转换为通用时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/205797/