mysql在某个日期之间_mysql 获取指定日期到指定日期 区间段的日期

第一种方法: cross join (就相当于mysql中的循环)

CROSS JOIN 把两张表中的数据进行 N * M的组合,即笛卡尔积

bf8c89eb5dc038ff7a7978939ea82f9c.png

19deb391c266297f1eefb92e79ec8efc.png

这里的两张表利用 union all都有5条数据,所以进行 cross join 后 就有25条数据

而指定的日期区间就会从这25条数据总产生

select CURDATE() - INTERVAL '1' day

NOW()(获取当前日期和时间) CURDATE() (获取当前日期) CURTIME() (获取当前时间)

39c65140273521513ab3ac3fe8ef3bb1.png

7f619d93ed62dfabe6966f1fa7371f1b.png

加个between and 就可以 得到指定日期和时间了

第二种方法: 依赖于一张表——数据足够你指定时间范围天数的表(缺点:依赖于另一张表)

直接上代码

4a25216c9a44029bb3c545822bad52ec.png

结果查出来一串时间

5b52a640888324126c8e147cf2ac302e.png

然后依据自已的需要来筛选最后的结果

'2019-07-11' - INTERVAL(@num) DAY 的话上述已经讲解过了,有不懂的自行百度

@num:=@num+1 的话就相当于后端语言中的num = num + 1;

而在

(select @num:=0) t 这段代码中就相当于在执行

@num:=@num+1生效前给num = 0 定义了值为0

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值