DATENAME (Transact-SQL)
傳回代表指定 date 之指定 datepart 的字元字串。
如需所有 Transact-SQL 日期和時間資料類型與函數的概觀,請參閱<日期和時間資料類型與函數 (Transact-SQL)>。如需日期和時間資料類型與函數常用的資訊和範例,請參閱<使用日期和時間資料>。
語法
DATENAME (datepart ,date )
引數
datepart
這是要傳回的 date 部分。下表列出所有有效的 datepart 引數。使用者自訂變數對等項目無效。datepart
縮寫
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
microsecond
mcs
nanosecond
ns
TZoffset
tz
date
這是可解析成 time、date、smalldatetime、datetime、datetime2 或 datetimeoffset 值的運算式。date 可以是運算式、資料行運算式、使用者自訂變數或字串常值。若要避免模糊不清,請使用四位數年份。如需兩位數年份的詳細資訊,請參閱<two digit year cutoff 選項>。
傳回類型
nvarchar
傳回值
- 每個 datepart 及其縮寫都會傳回相同的值。
傳回值會根據使用 SET LANGUAGE 所設定的語言環境並依據登入的預設語言而不同。如果 date 是某些格式的字串常值,傳回值就會相依於 SET DATEFORMAT。當 date 是日期或時間資料類型的資料行運算式時,SET DATEFORMAT 並不會影響傳回值。
若為比 SQL Server 2000 還新的 SQL Server 版本,當 date 參數具有 date 資料類型引數時,傳回值就會根據使用 SET DATEFIRST 所指定的設定而不同。
TZoffset datepart 引數
如果 datepart 引數是 TZoffset (tz) 而且 date 引數沒有時區時差,就會傳回 0。
針對不在 date 引數中的 datepart 所傳回的預設值
如果 date 引數的資料類型沒有指定的 datepart,就會傳回該 datepart 的預設值。
例如,任何 date 資料類型的預設年-月-日都是 1900-01-01。下列陳述式具有 datepart 的日期部分引數、date 的時間引數,而且會傳回 1900, January, 1, 1, Monday。
SELECT DATENAME(year, '12:10:30.123')
,DATENAME(month, '12:10:30.123')
,DATENAME(day, '12:10:30.123')
,DATENAME(dayofyear, '12:10:30.123')
,DATENAME(weekday, '12:10:30.123');
time 資料類型的預設時-分-秒是 00:00:00。下列陳述式具有 datepart 的時間部分引數、date 的日期引數,而且會傳回 0, 0, 0。
SELECT DATENAME(hour, '2007-06-01')
,DATENAME(minute, '2007-06-01')
,DATENAME(second, '2007-06-01');
備註
DATENAME 可用於選取清單、WHERE、HAVING、GROUP BY 和 ORDER BY 子句中。在 SQL Server 2008 中,DATENAME 會隱含地將字串常值轉換為 datetime2 類型。搭配 DATEADD 使用 DATENAME 時,請避免字串常值的隱含轉換。如需詳細資訊,請參閱<DATEADD (Transact-SQL)>。
範例
下列範例會針對指定的日期傳回日期部分。
SELECT DATENAME(datepart,'2007-10-30 12:15:32.1234567 +05:10')
以下為結果集:
datepart |
傳回值 |
---|---|
year, yyyy, yy |
2007 |
quarter, qq, q |
4 |
month, mm, m |
十月 |
dayofyear, dy, y |
303 |
day, dd, d |
30 |
week, wk, ww |
44 |
weekday, dw |
星期二 |
hour, hh |
12 |
minute, n |
15 |
second, ss, s |
32 |
millisecond, ms |
123 |
microsecond, mcs |
123456 |
nanosecond, ns |
123456700 |
TZoffset, tz |
310 |