GETDATE() 和通过侦听器连接的多个服务器

GETDATE() and Multiple Servers connecting via a listener

我们有 3 个服务器伦敦、阿姆斯特丹、法兰克福。通过侦听器连接。因此使用 GetDate() 来填充表格等将根据是否连接到伦敦给出不同的结果。始终获取伦敦时间的最简单方法是什么。

谢谢 杰夫

使用 GETUTCDATE() 最简单。返回的 datetimeoffset 是明确的。 要获得英国时间,请使用 AT TIME ZONE 进行转换,然后转换为 datetimedatetime2:

SELECT CONVERT(datetime2(0),CONVERT(datetimeoffset,GETUTCDATE()) AT TIME ZONE 'GMT 
Standard Time')

注意 时区 'Greenwich Standard Time' returns GMT,这不是英国夏季时间。时区 'GMT Standard Time' 反映了夏季和冬季的英国时间 - 不是 GMT,但夏季是 GMT+1。这个好像没有 待记录,名称没有帮助!