是否可以获得当前时区的名称,例如SQL Server 2008 R2上的SQL代码中的"Eastern Standard Time"
或"EST"
?我知道我可以通过计算getdate()
和getutcdate()
之间的差异来确定数字本地时间偏移,但这不是我需要的。我只需要底层操作系统的TZ名称。
没有任何已定义的表,如果您只想从System information中读取时区信息,那么可以从系统注册表中读取。
declare @TZName varchar(50)
exec master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEMCurrentControlSetControlTimeZoneInformation',
'TimeZoneKeyName',@TZName OUT
select @TZName
Raj