获取当前的 DateTime
内置函数 GETDATE
和 GETUTCDATE
均返回当前日期和时间,没有时区偏移。
两个函数的返回值基于运行 SQL Server 实例的计算机的操作系统。
GETDATE 的返回值表示与操作系统在同一时区中的当前时间。GETUTCDATE 的返回值表示当前的 UTC 时间。
这两个函数都可以包含在查询的 SELECT
子句中,也可以作为 WHERE
子句中布尔表达式的一部分。
例子:
-- example query that selects the current time in both the server time zone and UTC
SELECT GETDATE() as SystemDateTime, GETUTCDATE() as UTCDateTime
-- example query records with EventDate in the past.
SELECT * FROM MyEvents WHERE EventDate < GETDATE()
还有一些其他内置函数可以返回当前日期时间的不同变体:
SELECT
GETDATE(), --2016-07-21 14:27:37.447
GETUTCDATE(), --2016-07-21 18:27:37.447
CURRENT_TIMESTAMP, --2016-07-21 14:27:37.447
SYSDATETIME(), --2016-07-21 14:27:37.4485768
SYSDATETIMEOFFSET(),--2016-07-21 14:27:37.4485768 -04:00
SYSUTCDATETIME() --2016-07-21 18:27:37.4485768