下面列举出SQL Server返回实例系统日期和时间的函数,除了ANSI标准函数CURRENT_TIMESTAMP在应用时无需在函数后多加一对空的小括号"()"外,其余均需。
从返回的数据类型"DATETIME2"就可以知道,后面三个函数是SQL Server 2008新增的。
另外,函数CURRENT_TIMESTAMP和GETDATE()都是取得当前实例系统日期和时间,在调用时,建议优先使用ANSI标准的。
函数 | 说明 | 返回数据类型 |
CURRENT_TIMESTAMP | ANSI SQL标准,当前实例系统日期和时间。 | DATETIME |
GETDATE() | 当前实例系统日期和时间。 | DATETIME |
GETUTCDATE() | 当前实例系统日期和时间,并以UTC格式来表示。 | DATETIME |
SYSDATETIME() | 当前实例系统日期和时间。 | DATETIME2 |
SYSUTCDATETIME() | 当前实例系统日期和时间,并以UTC格式来表示。 | DATETIME2 |
SYSDATETIMEOFFSET() | 当前实例系统日期和时间,包含时区偏移量。 | DATETIME2 |
演示:
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
SELECT
CURRENT_TIMESTAMP
AS
[
CURRENT_TIMESTAMP
]
,
GETDATE () AS [ GETDATE ] ,
GETUTCDATE() AS [ GETUTCDATE ] ,
SYSDATETIME() AS [ SYSDATETIME ] ,
SYSUTCDATETIME() AS [ SYSUTCDATETIME ] ,
SYSDATETIMEOFFSET() AS [ SYSDATETIMEOFFSET ] ;
GETDATE () AS [ GETDATE ] ,
GETUTCDATE() AS [ GETUTCDATE ] ,
SYSDATETIME() AS [ SYSDATETIME ] ,
SYSUTCDATETIME() AS [ SYSUTCDATETIME ] ,
SYSDATETIMEOFFSET() AS [ SYSDATETIMEOFFSET ] ;
执行结果: