sql中有没有办法从数据中获取月份名称

时间:2019-03-25 09:57:26

标签: mysql

我正在选择一个数据范围,该范围可以很好地与我的代码配合使用并返回预期的数据。问题是当我添加要按月检索的代码时,我会得到null。

https://www.sqltutorial.org/sql-date-functions/extract-month-from-date-sql/

SELECT SUBSTRING(date_time,1,10), SUM(Total), sum(Total_ly)) 
FROM Transaction 
WHERE Substring(date_time,1,10) between '01/03/2019' AND '04/04/2019' 
Group By date_time 
Having sum(Total)<>0;

所以在我的表中是:

date_time \ Total 
01/03/2019  45.00    
02/03/2019  34.00
23/03/2019  12.00
01/04/2019  90.00
25/04/2019  32.00

预期输出:

March 2019  91.00
April 2019  122.00

我对合计列所做的全部工作就是求和。 另外,我知道有人会问我为什么要为另一个应用程序分配substring(date_time),我需要时间,但是对于这个我只需要日期。

无论如何,我正在尝试使用MonthName函数并传递日期,但这仅适用于一个日期而不是范围。

谁能指出我正确的方向

1 个答案:

答案 0 :(得分:0)

使用date_format()函数

SELECT DATE_FORMAT(SUBSTRING(date_time,1,10),"%M %Y"), SUM(Total), sum(Total_ly)) 
FROM Transaction 
WHERE Substring(date_time,1,10) between '01/03/2019' AND '04/04/2019' 
Group By DATE_FORMAT(SUBSTRING(date_time,1,10),"%M %Y") 
Having sum(Total)<>0