【问题标题】:SQL Server 2008 GET DATETIMEOFFSET according to machine settingsSQL Server 2008 GET DATETIMEOFFSET 根据机器设置
【发布时间】:2012-01-27 21:05:38
【问题描述】:

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

SELECT CAST(GETDATE() AS DATETIMEOFFSET);

这给了我如下结果:

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;

这给了我同样的错误结果(至少对我的需要是错误的)。

我在这里错过了什么?

【问题讨论】:

    标签: sql sql-server sql-server-2008 tsql sql-server-2008-r2


    【解决方案1】:

    试试这个

    SELECT SYSDATETIMEOFFSET();
    

    GETDATE() 函数没有任何时区信息

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多