DATENAME (Transact-SQL)

更新: 2006 年 7 月 17 日

傳回代表指定日期的指定日期部分之字元字串。

ms174395.note(zh-tw,SQL.90).gif重要事項:
這項功能已變更,與舊版 SQL Server 不同。如需詳細資訊,請參閱<SQL Server 2005 中對於 Database Engine 功能的行為變更>。

主題連結圖示Transact-SQL 語法慣例

語法

DATENAME ( 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

    weekday (dw) 日期部分會傳回星期日期,如星期日、星期一等等。

  • date
    這是傳回 datetimesmalldatetime 值或日期格式之字元字串的運算式。請將 datetime 資料類型用在 1753 年 1 月 1 日之後的日期。更早的日期,請儲存成字元資料。當您輸入 datetime 值時,請一律用引號括住它們。由於 smalldatetime 的精確度只到分鐘,因此,當使用 smalldatetime 值時,秒和毫秒一律是 0。如需有關指定日期的詳細資訊,請參閱<日期和時間 (Transact-SQL)>。如需有關如何指定時間值的詳細資訊,請參閱<時間格式>。

    如果您只指定年份的最後兩位數,小於或等於 two-digit year cutoff 組態選項值最後兩位數的值,便屬於截止年份的相同世紀。大於這個選項值最後兩位數的值,便屬於截止年份的上一世紀。例如,如果 two-digit year cutoff 是 2049 (預設值),49 便會解譯為 2049,50 會解譯成 1950。

傳回類型

nvarchar

備註

SQL Server 2005 Database Engine 會依照需要自動轉換字元和 datetime 值,例如,當您比較字元值和 datetime 值時,便是如此。

範例

下列範例會從 GETDATE 傳回的日期中擷取月份名稱。

SELECT DATENAME(month, GETDATE()) AS 'Month Name';

以下為結果集:

Month Name

------------------------------

February

下列範例會從資料行擷取月份。

USE AdventureWorks;
GO
SELECT StartDate, DATENAME(month,StartDate) AS StartMonth
FROM Production.WorkOrder
WHERE WorkOrderID = 1;
GO

以下為結果集:

StartDate StartMonth

-------------------------------- ------------

2001-07-04 00:00:00.000 July

下列範例會顯示每個搭配 date 引數的 datepart 引數,其使用格式為 'YYYY-MM-DDTHH:MM:SS.xxx'。

SELECT DATENAME(year,'1995-10-30 12:15:32.123');
SELECT DATENAME(yy,'1995-10-30 12:15:32.123');
SELECT DATENAME(yyyy,'1995-10-30 12:15:32.123');
-- Return: 1995

SELECT DATENAME(quarter,'1995-10-30 12:15:32.123');
SELECT DATENAME(qq,'1995-10-30 12:15:32.123');
SELECT DATENAME(q,'1995-10-30 12:15:32.123');
-- Return: 4

SELECT DATENAME(month,'1995-10-30 12:15:32.123');
SELECT DATENAME(mm,'1995-10-30 12:15:32.123');
SELECT DATENAME(m,'1995-10-30 12:15:32.123');
-- Return: October

SELECT DATENAME(dayofyear,'1995-10-30 12:15:32.123');
SELECT DATENAME(dy,'1995-10-30 12:15:32.123');
SELECT DATENAME(y,'1995-10-30 12:15:32.123');
-- Return: 303

SELECT DATENAME(day,'1995-10-30 12:15:32.123');
SELECT DATENAME(dd,'1995-10-30 12:15:32.123');
SELECT DATENAME(d,'1995-10-30 12:15:32.123');
-- Return: 30

SELECT DATENAME(week,'1995-10-30 12:15:32.123');
SELECT DATENAME(wk,'1995-10-30 12:15:32.123');
SELECT DATENAME(ww,'1995-10-30 12:15:32.123');
-- Return: 44

SELECT DATENAME(weekday,'1995-10-30 12:15:32.123');
SELECT DATENAME(dw,'1995-10-30 12:15:32.123');
-- Return: Monday

SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hour,'1995-10-30 12:15:32.123');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
SELECT DATENAME(hh,'10/30/1995 12:15:32.123 PM');
-- Return: 12

SELECT DATENAME(minute,'1995-10-30 12:15:32.123');
SELECT DATENAME(mi,'1995-10-30 12:15:32.123');
SELECT DATENAME(n,'1995-10-30 12:15:32.123');
-- Return: 15
 
SELECT DATENAME(second,'1995-10-30 12:15:32.123');
SELECT DATENAME(ss,'1995-10-30 12:15:32.123');
SELECT DATENAME(s,'1995-10-30 12:15:32.123');
-- Return: 32

SELECT DATENAME(millisecond,'1995-10-30 12:15:32.123');
SELECT DATENAME(ms,'1995-10-30 12:15:32.123');
-- Return: 123

變更歷程記錄

版本 歷程記錄

2006 年 7 月 17 日

新增內容:
  • 加入範例。

請參閱

參考

CAST 和 CONVERT (Transact-SQL)
資料類型 (Transact-SQL)
日期和時間函數 (Transact-SQL)

其他資源

ISO 8601 格式
字母日期格式
數值日期格式
ODBC 日期時間格式
時間格式
未分隔的字串格式

說明及資訊

取得 SQL Server 2005 協助