mysql 查询从两个日期获取月份名称列表

标签 mysql

我想创建两个日期之间的月份名称列表。通过 mysql 查询的最佳方法是什么。

Select start_date, end_date from table where id=123

以上查询结果 - 开始日期:“2016-01-15”结束日期:“2017-04-28”

最终结果应该是:

Jan-16
Feb-16
Mar-16
......
......
......
Feb-17
Mar-17
Apr-17

感谢您的帮助!

最佳答案

现在没有时间,只需搜索 Date_Format 到此“日期(今天)”

select CONCAT_WS('-',monthname(date(thisday)),substr(thisday from 9 FOR 2)) from

(SELECT ADDDATE('2017-01-01', INTERVAL @i:=@i+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

关于mysql 查询从两个日期获取月份名称列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43319775/

相关文章:

php - 为数据库中的两个新表创建模型和关系

php - 如何排序查询结果与 WHERE 条件中指定的 id 相同?

php - Where 子句在 tinyint 上不起作用

mysql - 这是问答的良好做法吗?

php - 如何从codeigniter中的连接表读取多个值

javascript - 创建 2 个图表,在一张图表中显示 2 个不同的数据 (asp.net MVC)

mysql - 两个索引的内部连接的 Big-Oh 性能

php - Sphinx setFilter() 杀死所有结果

mysql - 非静态...静态什么?

java - 使用 gcm 更新 ListView 中的 ImageView