获取当前的 DateTime

内置函数 GETDATEGETUTCDATE 均返回当前日期和时间,没有时区偏移。

两个函数的返回值基于运行 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