SQL Server DATEPART() 取出日期和時間中特定的部分

SQL Server DATEPART() 取出日期和時間中特定的部分

在 SQL Server 中,我們可以用 DATEPART() 函數來取出日期和時間中特定的部分,比如年、月、日、時、分、秒等。

DATEPART() 語法 (Syntax)

DATEPART(datepart , date);

DATEPART() 會返回一個整數,其中 datepart 參數用來指定要返回的部分,datepart 可以是這些值:

datepart (全名和縮寫)返回值說明
year, yyyy, yy年,例如 2007
month, mm, m月,例如 10
day, dd, d日,例如 30
hour, hh時,例如 12
minute, n分,例如 15
second, ss, s秒,例如 32
millisecond, ms毫秒,例如 123
microsecond, mcs微秒,例如 123456
nanosecond, ns毫微秒,例如 123456700
quarter, qq, q季,例如 4
dayofyear, dy, y一年中的第幾天,例如 303
week, wk, ww一年中的第幾週,例如 45
weekday, dw星期幾,例如 1
TZoffset, tz時區 time zone offset,單位是分鐘,例如 310

DATEPART() 用法 (Example)

假設有一個 Orders table:

OrderIdProductNameOrderDate
1‘Bike’2018-10-22 16:25:46.635

這個 SQL:

SELECT DATEPART(yyyy, OrderDate) AS OrderYear,
DATEPART(mm, OrderDate) AS OrderMonth,
DATEPART(dd, OrderDate) AS OrderDay
FROM Orders;

會得到例如:

OrderYearOrderMonthOrderDay
20181022