2009-02-01 114 views
1

我正在使用在状态中托管的sql server 2005。很快我们会把分贝移到欧洲。 我想更新数据库中的日期以考虑时区差异。 有没有一个很好的方法来做到这一点? 或者它只是一个循环遍历日期和添加时区偏移量的情况?SQL Server中的时区考虑事项

回答

3

它是否真的需要改变,因为它是物理移动?如果您支持全球应用程序,我会将所有日期/时间信息存储在GMT中,并在客户端转换为本地。

+0

有趣。谢谢。问题是我们已经在数据库中有数据。一旦我们移动,数据将只在该时区使用。 – user17510 2009-02-01 06:12:42

2

我想你应该保存在数据库中的日期/时间在一个恒定的时区也可以是GMT(因为它是非常简单的将其转换为其他时区)或服务器的当前时区,如果它不是GMT 。

钍eonly原因,后来选择有意义的是,你使用CURDATE函数插入从数据库/过滤器记录,否则GMT是最好的选择。

您可以尝试使用DATEDIFF与DATEADD但由于DST这不会总是给(在某些情况下关闭了1小时),精确的时间。

在SQL Server 2005中有关时区转换的一个已知的限制,请参考,下面的链接了解更多信息: http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=308563