SQL SYSDATETIME和SYSUTCDATETIME

时间:2015-07-23 10:15:28

标签: sql sql-server

我需要获取SQL Server日期时间和本地日期时间。

假设我现在的时间是下午3点47分。

现在我正在使用安装在本地计算机上的SQL Server Management Studio。当我执行以下命令时,它返回两个不同的值。但它可以,因为SYSDATETIME将返回服务器日期时间和 SYSUTCDATETIME将返回本地日期时间。

SELECT SYSDATETIME()
SELECT SYSUTCDATETIME()

返回值

  

2015-07-23 12:17:03.2686085

  

2015-07-23 10:17:03.2686085

但问题是我从SYSUTCDATETIME获得的价值不等于我的本地日期时间。

怎么会发生这种情况?

1 个答案:

答案 0 :(得分:5)

你可以得到帮助 enter image description here

TODATETIMEOFFSET ( expression , time_zone )

了解更多细节 https://msdn.microsoft.com/en-IN/library/bb630335.aspx

我的系统时间是enter image description here 当我运行查询

SELECT SYSDATETIME()
    ,SYSDATETIMEOFFSET()
    ,SYSUTCDATETIME()
    ,CURRENT_TIMESTAMP
    ,GETDATE()
    ,GETUTCDATE();

我得到了以下结果 enter image description here