Azure SQL数据库时间问题

时间:2017-08-03 17:46:09

标签: azure azure-sql-database

我在Azure服务器上运行了一个.net应用程序,该服务器设置为PST,并连接到设置为UTC时间的Azure SQL服务器。我在很多存储过程中使用函数getDate()。前进的时区将是一个关键问题,需要让它们同步。使用DateAdd(小时,-8,getDate())函数不会考虑夏令时。我想知道是否有更好的方法来解决这个问题。

1 个答案:

答案 0 :(得分:3)

将所有datetime列更改为datetimeoffset(7)列。这些列存储时区信息以及日期和时间。

接下来将GETDATE()来电更改为SYSDATETIMEOFFSET()

最后,您可以使用AT TIME ZONE关键字转换存储的时间信息:

SELECT   *,
         [Time] AT TIME ZONE 'Pacific Standard Time' AS PstTime
FROM     TheTable
  • 我尝试将datetime值始终存储在UTC(或任何其他任意区域)中,并始终遇到问题。切换到datetimeoffset(7)后几乎所有问题都已解决。