SQL Server 2008根据计算机设置获取DATETIMEOFFSET

tug*_*erk 9 sql t-sql sql-server sql-server-2008 sql-server-2008-r2

在SQL Server 2008 R2上,我有以下T-SQL代码:

SELECT CAST(GETDATE() AS DATETIMEOFFSET);
Run Code Online (Sandbox Code Playgroud)

这给我的结果如下:

2011-12-26 10:21:13.7970000 +00:00

但结果就是我想要的结果.它应该是这样的:

2011-12-26 10:21:13.7970000 +02:00

这是我机器的日期和时间设置:

在此输入图像描述

插入值时会发生同样的事情:

DECLARE @foo AS TABLE(
    fooDate DATETIMEOFFSET
);

INSERT @foo VALUES(GETDATE());

SELECT * FROM @foo;
Run Code Online (Sandbox Code Playgroud)

这给我带来了同样错误的结果(至少对我的需求是错误的).

我在这里错过了什么?

Ole*_*Dok 20

试试这个

SELECT SYSDATETIMEOFFSET();
Run Code Online (Sandbox Code Playgroud)

GETDATE() function没有任何时区信息