Mysql如何实现指定时间区间的所有日期

在Oracle中,可以使用CONNECT BY进行递归查询,但MySQL不支持递归查询。为解决指定日期范围查询,本文提供了一个巧妙的方法:利用MySQL内置的`mysql.help_topic`表。通过结合`DATE_ADD`、`INTERVAL`和`DATE_FORMAT`函数,从`help_topic_id`获取日期,条件是日期在2019年1月1日至2019年12月1日之间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Oracle 中 可以使用递归查询(CONNECT BY,在Oracle中已经介绍了)
  • Mysql没有递归查询,是如何实现指定日期查询的:mysql.help_topic 这时候就可以使用mysql自带的这个表来实现。(算是取巧的方法,暂时没找到更好的方法)
    SELECT DATE_FORMAT( date_add(concat('2019-01-01'), interval(help_topic_id) DAY),'%Y-%m-%d') DT 
            FROM mysql.help_topic
            WHERE help_topic_id  <=  timestampdiff(DAY,concat('2019-01-01'),concat('2019-12-01'))
    

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值