从DateTime类型中仅选择月份名称

时间:2014-12-04 17:28:00

标签: sql-server datetime

我正在处理一个小型SQL查询,该查询应返回月份的全名而不是其编号。 我能够使用DATEPART中的SQL Server返回号码但无法返回其全名,如下所示

SELECT DATEPART(MONTH, Delivery) AS Delivery FROM Deals

上面的查询返回1表示1月,我想返回“1月”

我有更好的方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:1)

使用 DATENAME 函数返回字符串,表示指定日期的指定日期部分

SELECT DATENAME(MONTH, Delivery) AS Delivery FROM Deals

或者如果您需要short month names or customized month names,如果您使用SQL SERVER 2012+,请使用 Choose function

SELECT Choose(Datepart(MONTH, Delivery), 'Jan', 'Feb', 'Mar', 'April', 'May', 
   'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec') AS Delivery
FROM   Deals 

答案 1 :(得分:1)

您可以像这样使用Datename

SELECT DATENAME(mm, Delivery) AS Delivery FROM Deals

它返回一个字符串,表示指定日期的指定日期部分

MSDN - http://msdn.microsoft.com/en-IN/library/ms174395.aspx