mysql获取指定时间段中所有日期或月份(不设存储过程,不加表)

mysql获取一个时间段中所有日期或者月份

最近需要用mysql获取一个时间段中的所有月份,网上查都是要设置存储过程或者加一个日期表的,不满足我的需求。翻墙找资料加上自己试验,如下代码分享给大家

正文

1:获取时间段所有月份

select DATE_FORMAT(date_add('2020-01-20 00:00:00', interval row1 MONTH),'%Y-%m') date from
 ( 
    SELECT @row := @row + 1 as row1 FROM 
    (select 0 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) t,
    (select 0 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) t2, 
    (SELECT @row:=-1) r
 ) se
 where DATE_FORMAT(date_add('2020-01-20 00:00:00', interval row1 MONTH),'%Y-%m') <= DATE_FORMAT('2020-04-02 00:00:00','%Y-%m')

2:获取时间段所有日期

select date_add('2020-01-20 00:00:00', interval row1 DAY) date from
 ( 
    SELECT @row := @row + 1 as row1 FROM 
    (select 0 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) t,
    (select 0 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) t2, 
    (SELECT @row:=-1) r
 ) se
 where date_add('2020-01-20 00:00:00', interval row1 DAY) <= '2020-03-02 00:00:00'
备注:
(select 0 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) t

这段代码表示数据条数限制,写两次查询的日期最多显示100条,写三次查询日期最多显示1000次,以此类推,根据你自己的需求决定
↓↓↓↓↓↓
下面是设置最多显示条数10000写法
在这里插入图片描述
希望能帮助到你,萌新在线求带!!!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值