mysql查询从两个日期获取月份名称列表
问题描述:
我想在两个日期之间创建一个月份名称列表。什么是通过mysql查询来完成的最佳方式。mysql查询从两个日期获取月份名称列表
Select start_date, end_date from table where id=123
上面的查询结果 - 起始日期: '2016年1月15日' 结束日期: '2017年4月28日'
最终的结果应该是:
Jan-16
Feb-16
Mar-16
......
......
......
Feb-17
Mar-17
Apr-17
感谢帮助!
答
没有一个时间需要现在去只是为了DATE_FORMAT搜索到这个"date(thisday)"
select CONCAT_WS('-',monthname(date(thisday)),substr(thisday from 9 FOR 2)) from
(SELECT ADDDATE('2017-01-01', INTERVAL @i:[email protected]+1 DAY) AS thisday
FROM (
SELECT a.a
FROM (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS a
CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS b
CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS c
) a
JOIN (SELECT @i := -1) r1
WHERE
@i < DATEDIFF('2017-01-31', '2017-01-01')) as a
一些结果:
January-18
January-19
January-20
January-21
January-22
January-23
January-24
January-25
January-26
January-27
January-28
January-29
+0
它不起作用。需要返回月份名称。 – dCoder
你能提供样品的输入? –
我通过查询“Select start_date,end_date from table where id = 123'来获取开始日期和结束日期值,但我不知道如何变换以获得上述结果。 – dCoder
首先,编辑你的问题并添加这些信息,不要将它们置于评论中。那么,你能分享一下你正在查询的表格中的一些样本数据吗?它的结构也不错 –