0

为什么会有不同的结果(偏移量应该是 +03:00):

SELECT
    CURRENT_TIMEZONE() as [CURRENT_TIMEZONE()] , SYSDATETIMEOFFSET() as [SYSDATETIMEOFFSET()];

结果是:

CURRENT_TIMEZONE()        SYSDATETIMEOFFSET()
(UTC+03:00) Istanbul      2022-01-20 10:32:03.6897159 +02:00

linux时间是:

       Local time: Thu 2022-01-20 11:32:07 +03
  Universal time: Thu 2022-01-20 08:32:07 UTC
        RTC time: Thu 2022-01-20 08:32:07
       Time zone: Europe/Istanbul (+03, +0300)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
4

1 回答 1

0

我意识到 SQL Server 不在乎土耳其采用 +03:00,不使用夏令时并得到了临时解决方案。SQL Server 在欧洲/伊斯坦布尔无法正常工作,因此我将欧洲/莫斯科设置为与它相同的时区。

  1. timedatectl set-timezone 欧洲/莫斯科

  2. systemctl 重启 mssql-server

问题解决了。

**CURRENT_TIMEZONE() SYSDATETIMEOFFSET()**
(UTC+03:00) 莫斯科、圣彼得堡 2022-02-02 17:39:04.6127420 +03:00
于 2022-02-02T14:39:55.500 回答