适用于:Microsoft Fabric 中的 SQL Server 2025 (17.x)
Azure SQL 数据库
Azure SQL 托管实例 SQL 数据库
CURRENT_DATE Transact-SQL(T-SQL)函数返回当前数据库系统的日期值,不包含数据库时间和时区偏移。
CURRENT_DATE该值源自 数据库引擎 运行的底层操作系统。
注意
SYSDATETIME 和 SYSUTCDATE 采用秒的小数部分精度度量,因此其精度比 GETDATE 和 GETUTCDATE 的精度更高。
SYSDATETIMEOFFSET 函数包含系统时区偏移量。 可向任意日期和时间类型的变量分配 SYSDATETIME、SYSUTCDATETIME 和 SYSDATETIMEOFFSET。
此函数是 ANSI SQL 等效项 CAST(GETDATE() AS DATE)。 有关详细信息,请参阅 GETDATE。
注意
Azure SQL 数据库 和 Microsoft Fabric 中的 SQL 数据库支持将默认时区从通用协调时间(UTC)更改。 如果你在 数据库 或 会话 层面修改时区,这个函数会根据配置的时区值返回本地时间。 更多信息请参见 ALTER DATABASE SCOPED CONFIGURATION 和 SET 时区。
有关所有 Transact-SQL 日期和时间数据类型和函数的概述,请参阅 日期和时间数据类型和函数 。
语法
CURRENT_DATE
参数
此函数没有参数。
返回类型
date
注解
Transact-SQL 语句可以引用它们可引用CURRENT_DATE日期表达式的任何位置。
CURRENT_DATE 是非确定性的函数。 无法为引用此列的视图和表达式编制索引。
示例
这些示例使用返回当前日期和时间值的系统函数返回日期、时间或两者。 这些示例连续返回值,因此,它们的秒小数部分可能有所不同。 返回的实际值反映实际执行日期/时间。
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