如何获取月份名称过期字段

时间:2014-04-30 10:37:45

标签: sql date datetime

我正在尝试构建一个查询,该查询为我提供了包含月份名称而不是数字的年份字段。输出应该类似于:

Year/month field  | Sum field
Januari 2014          100
Februari 2014       12300
Maart 2014           3234
April 2014           4964

我已经搜索了获取月份名称的方法,但我必须做错了,因为我经常会收到datename不是函数或者错误1064的错误。这就是我所说的#39;我试过了:

SELECT id, 
       YEAR(report_date) AS YEAR, 
       MONTH(report_date) AS MONTH,
SELECT DATENAME(MONTH, (MONTH(report_date))) ,
CONVERT(VARCHAR(3), DATENAME(MONTH, report_date)) SUM(num) AS participants_month
FROM participants
WHERE unit_id = 10
GROUP BY unit_id,
  MONTH(report_date)
ORDER BY report_date ASC;

试图让这个问题尽可能清楚。如果有什么东西不清楚告诉我,我会尝试解释它。真的希望有人能指出我正确的方向。

2 个答案:

答案 0 :(得分:2)

在SQL Server中,您使用DATENAME(月,日): SQL Server Fiddle

但是在MySQL中你使用MONTHNAME(日期): MySQL Fiddle

从您收到的错误中我猜您不会将SQL Server用作数据库管理系统,因此在MySQL中您应该使用MONTHNAME(date)

答案 1 :(得分:0)

从错误中,我想,你正在使用MySQL。但是DATENAME()是Transact-SQL函数。

在MySQL中,您可以使用

  MONTH(yourdate)

代替