日期和时间

在 SQL 中,你使用日期和时间数据类型来存储日历信息。这些数据类型包括 time,date,smalldatetime,datetime,datetime2 和 datetimeoffset。每种数据类型都有特定的格式。

数据类型 格式
时间 HH:MM:SS [.nnnnnnn]
日期 YYYY-MM-DD
SMALLDATETIME YYYY-MM-DD hh:mm:ss
日期时间 YYYY-MM-DD hh:mm:ss [.nnn]
DATETIME2 YYYY-MM-DD hh:mm:ss [.nnnnnnn]
DATETIMEOFFSET YYYY-MM-DD hh:mm:ss [.nnnnnnn] [+/-] hh:mm

DATENAME 函数返回日期特定部分的名称或值。

SELECT DATENAME (weekday,'2017-01-14') as Datename
DATENAME
星期六

你可以使用 GETDATE 函数来确定运行当前 SQL 实例的计算机的当前日期和时间。此功能不包括时区差异。

SELECT GETDATE() as Systemdate 
Systemdate
2017-01-14 11:11:47.7230728

DATEDIFF 函数返回两个日期之间的差异。

在语法中,datepart 是指定要用于计算差异的日期部分的参数。datepart 可以是年,月,周,日,小时,分钟,秒或毫秒。然后,在 startdate 参数中指定开始日期,在 enddate 参数中指定要查找其差异的结束日期。

SELECT SalesOrderID, DATEDIFF(day, OrderDate, ShipDate) 
AS 'Processing time'
FROM Sales.SalesOrderHeader
SalesOrderID 处理时间
43659 7
43660 7
43661 7
43662 7

DATEADD 功能使你可以将间隔添加到特定日期的一部分。

SELECT DATEADD (day, 20, '2017-01-14') AS Added20MoreDays
Added20MoreDays
2017-02-03 00:00:00.000