You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server中如何查询获取当前服务器Windows格式时区名称

SQL Server 获取当前服务器Windows格式时区名称的方法

根据SQL Server版本不同,可选择对应查询方式,直接返回India Standard Time、US Eastern Standard Time这类标准Windows时区名称:

  • SQL Server 2022及以上版本、Azure SQL系列服务(最简便方案)
    直接调用内置的CURRENT_TIMEZONE()函数即可,该函数原生返回实例所在宿主环境配置的Windows时区标识符,无权限问题、结果准确。
    执行语句:

    SELECT CURRENT_TIMEZONE() AS ServerWindowsTimeZoneName;
    
  • SQL Server 2019及更早的本地部署版本
    低版本无对应内置函数,可通过SQL Server自带的实例级注册表读取存储过程获取系统时区配置——默认配置下SQL Server服务账号拥有对应注册表项的读取权限,无需额外授权。
    执行语句:

    DECLARE @TZName NVARCHAR(255);
    EXEC master.dbo.xp_instance_regread
        N'HKEY_LOCAL_MACHINE',
        N'SYSTEM\CurrentControlSet\Control\TimeZoneInformation',
        N'TimeZoneKeyName',
        @TZName OUTPUT;
    SELECT @TZName AS ServerWindowsTimeZoneName;
    

注意:不要尝试通过SYSDATETIMEOFFSET()返回的UTC偏移值反推时区名称。全球存在多个时区在非夏令时/夏令时时段共用同一个UTC偏移值,偏移值会随夏令时规则动态变化,反推结果存在极高的错配概率,无法满足业务准确性要求。

内容的提问来源于stack exchange,提问作者lazyboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 06:39:16