日期和時間
在 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 |