我正在处理一个小型SQL查询,该查询应返回月份的全名而不是其编号。
我能够使用DATEPART
中的SQL Server
返回号码但无法返回其全名,如下所示
SELECT DATEPART(MONTH, Delivery) AS Delivery FROM Deals
上面的查询返回1表示1月,我想返回“1月”
我有更好的方法可以解决这个问题吗?
答案 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