sql server与不同时区的不同数据库。如何获取所有数据库的getdatetime

时间:2012-09-06 04:34:41

标签: sql sql-server

我有4个数据库,每个数据库都在不同的时区 如何使用GetDateTime获取所有这些日期和时间。

通常我们得到服务器时间,但我需要数据库的日期和时间

2 个答案:

答案 0 :(得分:3)

如果您使用的是SQL 2008或更高版本,可以查看

SYSDATETIMEOFFSETSWITCHOFFSET

通常第一个是使用TimeZone偏移部分返回系统日期时间,如-07:00,第二个可以根据datetimeoffset和时区偏移属性计算时间。

由于时区没有数据库级别设置,您应该找到其他解决方案。

如果您想在相同的SQL Server 中管理应用程序,但是对于 4个不同的数据库,并且每个数据库都有正确的时区,我认为最好的方法是制作一个SystemSetting(名称不重要)表,您可以在其中保存偏移量。然后,您可以使用SWITCHOFFSET根据需要为每个查询计算给定数据库的正确时间。

或者您可以尝试使用虚拟机。

答案 1 :(得分:2)

如果这些是SQL 2008服务器或更高版本......

select sysutcdatetime()