Mysql 在拉取一年中的每个月时,使月份显示日期名称而不是数字
我正在提取列出一年中每个月的数据,但“月”列说明了每年的第一天,我如何使其显示完整的月份名称? 这是我的一些东西。我读过类似的问题,试着在每一个地方添加它所说的内容,但我无法让它工作,帮帮忙Mysql 在拉取一年中的每个月时,使月份显示日期名称而不是数字,mysql,sql,sql-server,date,Mysql,Sql,Sql Server,Date,我正在提取列出一年中每个月的数据,但“月”列说明了每年的第一天,我如何使其显示完整的月份名称? 这是我的一些东西。我读过类似的问题,试着在每一个地方添加它所说的内容,但我无法让它工作,帮帮忙 SELECT a.MonthDate ,Sum(a.ScrapPcs) / (Sum(a.GrossPcs)*1.00) As ScrapPct ,0.05 As ScrapTarget ,sum (a.GrossPcs) As 'Total Parts Cast' ,sum (a.ScrapPcs)
SELECT a.MonthDate
,Sum(a.ScrapPcs) / (Sum(a.GrossPcs)*1.00) As ScrapPct
,0.05 As ScrapTarget
,sum (a.GrossPcs) As 'Total Parts Cast'
,sum (a.ScrapPcs) as 'Total Parts Scrap'
,CASE
WHEN Sum(a.ScrapPcs) / (Sum(a.GrossPcs)*1.00) <= 0.05 THEN 1
WHEN Sum(a.ScrapPcs) / (Sum(a.GrossPcs)*1.00) >= 0.9*.05 THEN -1
ELSE 0
END
AS Status
FROM
(
SELECT DATEADD(month, DATEDIFF(month, 0, b.CreationProdDate), 0) As MonthDate
,Count(b.BOOKING_ID) As ScrapPcs
, 0 As GrossPcs
FROM dbo.CPC_BOOKING b
WHERE b.CreationProdDate Between DATEADD(yy, DATEDIFF(yy, 0, GetDate()), 0) AND DateAdd("d", -1, GetDate())
and CPC_BookingTyp_ID in (2,8)
and ManufacturingPlant in (90002604,90017699, 90017705)
GROUP BY DATEADD(month, DATEDIFF(month, 0, b.CreationProdDate), 0)
UNION ALL
SELECT DATEADD(month, DATEDIFF(month, 0, n.ProductionDate), 0) As MonthDate
,0 As ScrapPcs
,Sum(n.Quantity) As GrossPcs
FROM [NORIS].[dbo].[MDL_Data_Ultimate] n
WHERE n.ProductionDate Between DATEADD(yy, DATEDIFF(yy, 0, GetDate()), 0) AND DateAdd("d", -1, GetDate())
and n.ManufacturingPlantGroup = 1
GROUP BY DATEADD(month, DATEDIFF(month, 0, n.ProductionDate), 0)
) a
group by a.MonthDate
提前感谢,MySQL有什么帮助吗
按照该网页上的示例使用MONTHNAME函数
SELECT MONTHNAME(a.MonthDate)
对于MS SQL Server:
如果需要月份名称,请在派生表中使用:
SELECT datename(month,DATEADD(month, DATEDIFF(month, 0, b.CreationProdDate), 0)) As MonthDate
也就是说,您希望将datenamemonth、datefunction应用于两个联合查询的第一列。MySQL或SQL Server?这不能同时是MySQL和SQL Server,因为每个查询的答案都不同,我们无法回答。请使用Date\u格式。阅读本文了解更多信息,这应该是MySQL或SQL server中的一种,因此这两种类型有不同的定义approach@bksi-实际上,编写一个在两种情况下都能工作的解决方案并不难。。。也许这就是他需要的;我想你想要datenamemonth,b.CreationProdDate是不是一样?@Hogan我不这么认为,datename dunction需要datepart和date作为参数,根据我的两个论点-但我编辑了它,你看到第一个版本了吗?@Hogan啊,是的,我看到了第一个版本我的观点是第一列是一些花哨的代码来获取月的第一天,你不需要datename函数谢谢,我读过类似的东西,但直到你的回答没有问题,我才知道应该把它放在哪里,请随意接受我最正确的答案:——@johnmithell——或者至少是在他使用的平台上赢得50%彩票的人。