DATENAME (Transact-SQL)
更新: 2006 年 7 月 17 日
傳回代表指定日期的指定日期部分之字元字串。
重要事項: |
---|
這項功能已變更,與舊版 SQL Server 不同。如需詳細資訊,請參閱<SQL Server 2005 中對於 Database Engine 功能的行為變更>。 |
語法
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
這是傳回 datetime 或 smalldatetime 值或日期格式之字元字串的運算式。請將 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 日期時間格式
時間格式
未分隔的字串格式