我有4个数据库,每个数据库都在不同的时区
如何使用GetDateTime
获取所有这些日期和时间。
通常我们得到服务器时间,但我需要数据库的日期和时间
答案 0 :(得分:3)
如果您使用的是SQL 2008或更高版本,可以查看
SYSDATETIMEOFFSET和SWITCHOFFSET
通常第一个是使用TimeZone偏移部分返回系统日期时间,如-07:00,第二个可以根据datetimeoffset和时区偏移属性计算时间。
由于时区没有数据库级别设置,您应该找到其他解决方案。
如果您想在相同的SQL Server 中管理应用程序,但是对于 4个不同的数据库,并且每个数据库都有正确的时区,我认为最好的方法是制作一个SystemSetting(名称不重要)表,您可以在其中保存偏移量。然后,您可以使用SWITCHOFFSET根据需要为每个查询计算给定数据库的正确时间。
或者您可以尝试使用虚拟机。
答案 1 :(得分:2)
如果这些是SQL 2008服务器或更高版本......
select sysutcdatetime()