DATEPART (Transact-SQL)

傳回一個整數來代表指定日期的指定日期部份。

主題連結圖示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
    這是傳回 datetimesmalldatetime 值或日期格式之字元字串的運算式。請只將 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 函數會傳回目前的日期。不過,完整日期不一定是比較的必要資訊;通常只會比較日期的一部份。下列範例會顯示 GETDATEDATEPART 的輸出。

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 日期時間格式
時間格式
未分隔的字串格式

說明及資訊

取得 SQL Server 2005 協助