CURRENT_TIMESTAMP(Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsMicrosoft Fabric中的SQL分析端点Microsoft Fabric中的仓库Microsoft Fabric中的SQL数据库

CURRENT_TIMESTAMP Transact-SQL(T-SQL)函数以日期时间值返回当前数据库系统时间戳,不包含数据库时区偏移。 CURRENT_TIMESTAMP 从运行 SQL Server 实例的计算机的操作系统中获得此值。

注意

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

此函数是 ANSI SQL,等价于 GETDATE。

注意

Azure SQL 数据库 和 Microsoft Fabric 中的 SQL 数据库支持将默认时区从通用协调时间(UTC)更改。 如果你在 数据库 或 会话 层面修改时区,这个函数会根据配置的时区值返回本地时间。 更多信息请参见 ALTER DATABASE SCOPED CONFIGURATION 和 SET 时区。

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

Transact-SQL 语法约定

语法

CURRENT_TIMESTAMP

参数

此函数没有参数。

返回类型

datetime

备注

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

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

示例

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

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

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

结果集如下。

SYSDATETIME()        2026-09-01 16:15:37.7418724
SYSDATETIMEOFFSET()  2026-09-01 16:15:37.7418724 -06:00
SYSUTCDATETIME()     2026-09-01 22:15:37.7418724
CURRENT_TIMESTAMP    2026-09-01 16:15:37.740
GETDATE()            2026-09-01 16:15:37.740
GETUTCDATE()         2026-09-01 22:15:37.740
CURRENT_DATE         2026-09-01

B. 获取当前系统日期

以下示例演示如何将日期和时间值转换为 日期 数据类型。

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

结果集如下。

SYSDATETIME()        2026-09-01
SYSDATETIMEOFFSET()  2026-09-01
SYSUTCDATETIME()     2026-09-01
CURRENT_TIMESTAMP    2026-09-01
GETDATE()            2026-09-01
GETUTCDATE()         2026-09-01
CURRENT_DATE         2026-09-01

C. 获取当前系统时间

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

结果集如下。

SYSDATETIME()        16:15:37.7418724
SYSDATETIMEOFFSET()  16:15:37.7418724
SYSUTCDATETIME()     22:15:37.7418724
CURRENT_TIMESTAMP    16:15:37.740
GETDATE()            16:15:37.740
GETUTCDATE()         22:15:37.740

示例:Azure Synapse Analytics

SELECT CURRENT_TIMESTAMP;