SQL Server 函数

SQL Server (Transact-SQL) DATENAME() 函数以字符串值的形式返回给定日期的指定部分。

语法

DATENAME(datepart, date) 

参数

datepart

必需. 指定要从日期检索的单位类型。它可以是以下值之一:

日期部分简写
yearyy, yyyy
quarterqq, q
monthmm, m
dayofyeardy, y
daydd, d
weekwk, ww
weekdaydw, w
hourhh
minutemi, n
secondss, s
millisecondms
microsecondmcs
nanosecondns
tzoffsettz
iso_weekisowk, isoww
date必需. 指定用于检索日期部分值的日期。

返回值

返回表示指定日期的指定日期部分的字符串.

示例 1:

下面的示例展示了 DATENAME() 函数的用法。

SELECT DATENAME(year, '2019-10-25');
Result: '2019'

SELECT DATENAME(yyyy, '2019-10-25');
Result: '2019'

SELECT DATENAME(yy, '2019-10-25');
Result: '2019'

SELECT DATENAME(quarter, '2019-10-25');
Result: '4'

SELECT DATENAME(month, '2019-10-25');
Result: 'October'

SELECT DATENAME(week, '2019-10-25 08:10:25');
Result: '43'

SELECT DATENAME(day, '2019-10-25');
Result: '25'

SELECT DATENAME(hh, '2019-10-25 08:10:25');
Result: '8'

SELECT DATENAME(hh, '2019-10-25 08:10:25');
Result: '8'

SELECT DATENAME(mi, '2019-10-25 08:10:25');
Result: '10'

SELECT DATENAME(ss, '2019-10-25 08:10:25');
Result: '25' 

示例 2:

考虑一个名为 Orders 的数据库表,其中包含以下记录:

OrderQuantityPriceOrderTime
1001.582017-08-18 10:38:42
1201.612018-03-23 07:14:16
1251.782018-09-12 05:25:56
501.802019-01-16 11:52:05
2001.722020-02-06 09:31:34

下面给出的语句可用于获取月份OrderTime列的部分记录:

SELECT *, DATENAME(month, OrderTime) AS DATENAME_Value FROM Orders; 

这将产生如下所示的结果:

OrderQuantityPriceOrderTimeDATENAME_Value
1001.582017-08-18 10:38:42August
1201.612018-03-23 07:14:16March
1251.782018-09-12 05:25:56September
501.802019-01-16 11:52:05January
2001.722020-02-06 09:31:34February