SQL Server 2008根据机器设置获取DATETIMEOFFSET

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

在 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

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

enter image description here

当我插入一个值时,也会发生同样的事情:

DECLARE @foo AS TABLE(
    fooDate DATETIMEOFFSET
);

INSERT @foo VALUES(GETDATE());

SELECT * FROM @foo;

这给我带来了同样的错误结果(至少不符合我的需求)。

我在这里缺少什么?

最佳答案

试试这个

SELECT SYSDATETIMEOFFSET();

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

关于SQL Server 2008根据机器设置获取DATETIMEOFFSET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8634104/

相关文章:

PHP语句同步或异步

sql - Oracle,NULL但不为NULL

SQL 这些是一样的吗?

sql - 我想使用 "nested set model"但我必须有一个 GUID 作为主键。没有整数作为 pk 该怎么办?

sql-server - 以 select 作为参数执行存储过程

sql-server - 基于 If then Else sql server 2008 将默认值添加到现有列

mysql - ERROR 1075 只能有一个自动列,并且必须将其定义为键。帮助我确定如何保留 ReportID 的外键

sql - 带上限的运行总计

SQL : Split one row into two rows depending on column

sql-server - 如何找出哪个存储过程的哪一行发生了错误?