SYSDATETIMEOFFSET (Transact-SQL)

返回包含计算机的日期和时间的 datetimeoffset(7) 值,SQL Server 的实例正在该计算机上运行。 时区偏移量包含在内。

有关所有 Transact-SQL 日期和时间数据类型和函数的概述,请参阅日期和时间数据类型及函数 (Transact-SQL)

主题链接图标 Transact-SQL 语法约定

语法

SYSDATETIMEOFFSET ( )

返回类型

datetimeoffset(7)

注释

Transact-SQL 语句在其可以引用 datetimeoffset 表达式的任何位置都可以引用 SYSDATETIMEOFFSET。

SYSDATETIMEOFFSET 是不确定性函数。 不能对在列中引用该函数的视图和表达式建立索引。

注意注意

SQL Server 2012 使用 GetSystemTimeAsFileTime() Windows API 来获取日期和时间值。 精确程度取决于运行 SQL Server 实例的计算机硬件和 Windows 版本。 此 API 的精度固定为 100 纳秒。 可通过使用 GetSystemTimeAdjustment() Windows API 来确定该精确度。

示例

以下示例使用六个返回当前日期和时间的 SQL Server 系统函数来返回日期和/或时间。 这些值是连续返回的;因此,它们的秒小数部分可能有所不同。

A.显示由日期和时间函数返回的格式

下面的示例显示由日期和时间函数返回的其他格式。

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

下面是结果集:

SYSDATETIME() 2007-04-30 13:10:02.0474381

SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00

SYSUTCDATETIME() 2007-04-30 20:10:02.0474381

CURRENT_TIMESTAMP 2007-04-30 13:10:02.047

GETDATE() 2007-04-30 13:10:02.047

GETUTCDATE() 2007-04-30 20:10:02.047

B.将日期和时间转换为日期

下面的示例说明如何将日期和时间值转换为 date。

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

下面是结果集:

2007-04-30

2007-04-30

2007-04-30

2007-04-30

2007-04-30

2007-04-30

C.将日期和时间转换为时间

下面的示例说明如何将日期和时间值转换为 time。

SELECT CONVERT (time, SYSDATETIME()) AS SYSDATETIME()
    ,CONVERT (time, SYSDATETIMEOFFSET()) AS SYSDATETIMEOFFSET()
    ,CONVERT (time, SYSUTCDATETIME()) AS SYSUTCDATETIME()
    ,CONVERT (time, CURRENT_TIMESTAMP) AS CURRENT_TIMESTAMP
    ,CONVERT (time, GETDATE()) AS GETDATE()
    ,CONVERT (time, GETUTCDATE()) AS GETUTCDATE();

下面是结果集:

SYSDATETIME() 13:18:45.3490361

SYSDATETIMEOFFSET()13:18:45.3490361

SYSUTCDATETIME() 20:18:45.3490361

CURRENT_TIMESTAMP 13:18:45.3470000

GETDATE() 13:18:45.3470000

GETUTCDATE() 20:18:45.3470000

请参阅

参考

CAST 和 CONVERT (Transact-SQL)

日期和时间数据类型及函数 (Transact-SQL)