谁能帮我一个建议,我怎么能实现以下的东西:
我在安装我的SQL Server的系统的。
但是,我想为我的SQL Server中没有系统中的时区数据库不同的时区。
SQL Server没有一个时区的概念。它继承了从Windows系统时间,并使用实时的。例如,如果您安装SQL Server在系统处于一个时区,并更改服务器不同的时区,下次你打电话GETDATE()
时间将反映新的时区,而不是一个是在使用中时间的SQL Server安装。
在这种情况下,我认为你应该始终将存储UTC数据(例如,使用GETUTCDATE()
代替GETDATE()
。更容易转换后到你想要的(或者任何一个!)时区,如.NET拥有各种内置功能,可以处理这个给你。
我会建议(在这个例子中EST)使用此
SYSDATETIMEOFFSET() AT TIME ZONE 'Eastern Standard Time'
这回精确的时间日期与任何选择的时区偏移量。这种做法将不依赖于服务器时区。