CURRENT_TIMESTAMP (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析终结点Microsoft Fabric 中的仓库

此函数返回当前数据库系统时间戳,返回值的类型为 datetime,并且不含数据库时区偏移量CURRENT_TIMESTAMP 从运行 SQL Server 实例的计算机的操作系统中获得此值。

注意

SYSDATETIMESYSUTCDATE 采用秒的小数部分精度度量,因此其精度比 GETDATEGETUTCDATE 的精度更高。 SYSDATETIMEOFFSET 函数包含系统时区偏移量。 可向任意日期和时间类型的变量分配 SYSDATETIMESYSUTCDATETIMESYSDATETIMEOFFSET

此函数是 ANSI SQL,等价于 GETDATE

如需大致了解 Transact-SQL 日期和时间数据类型及函数,请参阅日期和时间数据类型及函数

Transact-SQL 语法约定

语法

CURRENT_TIMESTAMP  

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

参数

此函数没有参数。

返回类型

datetime

备注

Transact-SQL 语句可以在能引用 datetime 表达式的所有位置引用 CURRENT_TIMESTAMP

CURRENT_TIMESTAMP 是非确定性的函数。 引用该列的视图和表达式无法进行索引。

示例

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

A. 获取当前系统日期和时间

SELECT SYSDATETIME()  
    ,SYSDATETIMEOFFSET()  
    ,SYSUTCDATETIME()  
    ,CURRENT_TIMESTAMP  
    ,GETDATE()  
    ,GETUTCDATE();  
/* Returned:  
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. 获取当前系统日期

SELECT CONVERT (DATE, SYSDATETIME())  
    ,CONVERT (DATE, SYSDATETIMEOFFSET())  
    ,CONVERT (DATE, SYSUTCDATETIME())  
    ,CONVERT (DATE, CURRENT_TIMESTAMP)  
    ,CONVERT (DATE, GETDATE())  
    ,CONVERT (DATE, GETUTCDATE());  
  
/* Returned   
SYSDATETIME()      2007-05-03  
SYSDATETIMEOFFSET()2007-05-03  
SYSUTCDATETIME()   2007-05-04  
CURRENT_TIMESTAMP  2007-05-03  
GETDATE()          2007-05-03  
GETUTCDATE()       2007-05-04  
*/  

C. 获取当前系统时间

SELECT CONVERT (TIME, SYSDATETIME())  
    ,CONVERT (TIME, SYSDATETIMEOFFSET())  
    ,CONVERT (TIME, SYSUTCDATETIME())  
    ,CONVERT (TIME, CURRENT_TIMESTAMP)  
    ,CONVERT (TIME, GETDATE())  
    ,CONVERT (TIME, GETUTCDATE());  
  
/* Returned  
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  
*/  

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

SELECT CURRENT_TIMESTAMP;