4

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

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

4

2 回答 2

4

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

SYSDATETIMEOFFSETSWITCHOFFSET

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

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

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

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

于 2012-09-06T05:32:56.583 回答
2

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

select sysutcdatetime()
于 2012-09-06T05:14:37.143 回答