SQL Server 2008 GET DATETIMEOFFSET 根据机器设置 [英] SQL Server 2008 GET DATETIMEOFFSET according to machine settings

查看:19
本文介绍了SQL Server 2008 GET DATETIMEOFFSET 根据机器设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

On SQL Server 2008 R2, I have following T-SQL code:

SELECT CAST(GETDATE() AS DATETIMEOFFSET);

结果如下:

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

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

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

But the result is what I wanted to be. It should be this:

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

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

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

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

The same thing happens while I am inserting a value:

DECLARE @foo AS TABLE(
    fooDate DATETIMEOFFSET
);

INSERT @foo VALUES(GETDATE());

SELECT * FROM @foo;

这让我得到了同样的错误结果(至少对于我的需要是错误的).

This gets me the same wrong result (at least wrong for my needs).

我在这里遗漏了什么?

推荐答案

试试这个

SELECT SYSDATETIMEOFFSET();

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

GETDATE() function has no any timezone information

这篇关于SQL Server 2008 GET DATETIMEOFFSET 根据机器设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆