SQL Server DATENAME() 函数
在 SQL Server 中,DATENAME()
函数返回一个字符串,该字符串表示给定日期的指定日期部分。
语法
DATENAME(datepart, date)
参数
datepart:指定日期的特定部分,DATENAME()
函数将返回该部分的字符串,例如日、月、年、小时、秒等。下表列出了所有有效的 datepart 值
日期部分 | 日期部分缩写 |
---|---|
年 | y, yy, yyyy |
季度 | qq, q |
月 | mm, m |
一年中的第几天 | dy |
日 | dd, d |
周 | wk, ww |
小时 | hh |
分钟 | mi, n |
秒 | ss, s |
毫秒 | ms |
微秒 | mcs |
纳秒 | ns |
TZoffset | tz |
ISO_WEEK | ISOWK, ISOWW |
date:一个日期或字符表达式,可以解析为以下数据类型之一:date、datetime、datetime2、time、smalldatetime 或 datetimeoffset。
日期也可以是字符串表达式、用户定义变量或表列。
返回值
将给定日期的日期部分作为 nvarchar
返回。
如果日期是 smalldatetime 且日期部分是秒,则 DATENAME()
返回 00。
如果日期是变量或表列,并且其数据类型不包含指定的日期部分,则 DATENAME()
函数将返回错误 9810
注意:DATENAME()
可用于 SQL 查询的以下子句:SELECT、WHERE、GROUP BY、HAVING 和 ORDER BY。
获取月份名称
在以下示例中,返回当前日期的月份部分。
示例
SELECT DATENAME(mm,GETDATE())AS ThisMonth

在以下示例中,返回给定日期字符串的不同日期部分
示例
SELECT DATENAME(mm, '04/20/2021 9:45:52.564722') AS Month
,DATENAME(d, '04/20/2021 9:45:52.564722') AS Day
,DATENAME(yy, '04/20/2021 9:45:52.564722') AS Year
,DATENAME(hh, '04/20/2021 9:45:52.564722') AS Hour
,DATENAME(minute, '04/20/2021 9:45:52.564722') AS Minute
,DATENAME(s, '04/20/2021 9:45:52.564722') AS Second
,DATENAME(ms, '04/20/2021 9:45:52.564722') AS MilliSecond
,DATENAME(mcs, '04/20/2021 9:45:52.564722') AS MicroSecond
,DATENAME(q, '04/20/2021 9:45:52.564722') AS Quarter
,DATENAME(dayofyear, '04/20/2021 9:45:52.564722') AS DayOfYear
,DATENAME(wk, '04/20/2021 9:45:52.564722') AS Week

将 DATENAME() 与列一起使用
以下使用 DATENAME()
函数与表的 DateTime 类型列一起返回年份作为字符串。
示例:DATENAME() 与列
SELECT EmployeeId, DATENAME(yy, HireDate) AS HireYear FROM Employee
