DATEPART (Transact-SQL)
傳回一個整數來代表指定日期的指定日期部份。
語法
DATEPART ( datepart , date )
引數
datepart
這是指定要傳回之日期部份的參數。下表列出 Microsoft SQL Server 2005 所識別之日期部份和縮寫。日期部份 縮寫 year
yy, yyyy
quarter
qq, q
month
mm, m
dayofyear
dy, y
day
dd, d
week
wk, ww
weekday
dw
hour
hh
minute
mi, n
second
ss, s
millisecond
ms
week (wk, ww) 日期部份反映 SET DATEFIRST 的變更。任何一年的 1 月 1 日都定義了 week 日期部份的起始數字,例如:DATEPART(wk,'Jan 1, xxxx') = 1,其中 xxxx 是任何一年。
weekday (dw) 這個日期部份會傳回一個對應於星期幾的數字,例如:星期日 = 1、星期六 = 7。weekday 日期部份所產生的數字會隨著 SET DATEFIRST 所設定的值而不同。這用來設定一星期中的第一天。
date
這是傳回 datetime 或 smalldatetime 值或日期格式之字元字串的運算式。請只將 datetime 資料類型用在 1753 年 1 月 1 日之後的日期。更早的日期,請儲存成字元資料。當您輸入 datetime 值時,請一律用引號括住它們。由於 smalldatetime 的精確度只到分鐘,因此,當使用 smalldatetime 值時,秒和毫秒一律是 0。如果您只指定年份的最後兩位數,小於或等於 two-digit year cutoff 組態選項值最後兩位數的值,便屬於截止年份的相同世紀。大於這個選項值最後兩位數的值,便屬於截止年份的上一世紀。例如,如果 two-digit year cutoff 是 2049 (預設值),49 便會解譯為 2049,50 會解譯為 1950。若要避免模稜兩可,請使用四位數年份。
如需有關指定時間值的詳細資訊,請參閱<時間格式>。如需有關指定日期的詳細資訊,請參閱<日期和時間 (Transact-SQL)>。
傳回類型
int
備註
DAY、MONTH 和 YEAR 函數分別是 DATEPART(**dd,**date)、DATEPART(mm,date) 和 DATEPART(yy, date) 的同義字。
範例
GETDATE 函數會傳回目前的日期。不過,完整日期不一定是比較的必要資訊;通常只會比較日期的一部份。下列範例會顯示 GETDATE
和 DATEPART
的輸出。
SELECT GETDATE() AS 'Current Date'
GO
以下為結果集:
Current Date
---------------------------
Feb 18 1998 11:46PM
SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO
以下為結果集:
Month Number
------------
2
下列範例假設 5 月 29 日這個日期。
SELECT DATEPART(month, GETDATE())
GO
以下為結果集:
-----------
5
(1 row(s) affected)
在下列範例中,日期指定為數字。請注意,SQL Server 會將 0 解譯為 1900 年 1 月 1 日。
SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)
以下為結果集:
----- ------ ------
1 1 1900
請參閱
參考
CAST 和 CONVERT (Transact-SQL)
資料類型 (Transact-SQL)
日期和時間函數 (Transact-SQL)
其他資源
ISO 8601 格式
字母日期格式
數值日期格式
ODBC 日期時間格式
時間格式
未分隔的字串格式