文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Mysql如何查询出两个日期之间的所有日期?

2023-09-01 21:11

关注

问题:

有时我们在生成一些时间轴类似的数据时,要求数据库不管有没有指定天的数据,都要生成该时间节点,可用mysql.help_topic来解决此类问题,通过序列和日期函数相结合来满足我们的业务需求。

例如:查询2023-05-13与2023-07-13之间的所有日期。

#查询两个日期之间的所有日期SELECT DATE_FORMAT( DATE_ADD(CONCAT('2023-05-13'), INTERVAL(help_topic_id) DAY),'%Y-%m-%d')  DATA_DATEFROM mysql.help_topicWHERE help_topic_id  <=  TIMESTAMPDIFF(DAY,CONCAT('2023-05-13'),CONCAT('2023-07-13'))ORDER BY DATA_DATE

可以利用 mysql.help_topic 系统表中的 help_topic_id 字段值。其中help_topic本身是Mysql一个帮助解释注释表,用于解释Mysql各种专有名词,由于这张表数据ID是从0顺序增加的,方便我们用于计数,但是有最大值,一旦超过这个数字,我们就需要己自定义一张表。

以上SQL执行情况如下:

另附其它日期处理的方法:

本周,本月,本季度,本年的第一天和最后一天 

#查询本周第一天SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE()) DAY) AS TIME#查询本周的最后一天SELECT DATE_SUB(CURDATE(),INTERVAL WEEKDAY(CURDATE())-6 DAY) AS TIME#查询本月的第一天SELECT DATE_SUB(CURDATE(),INTERVAL DAY(CURDATE())-1 DAY) AS TIME#查询本月的最后一天SELECT LAST_DAY(CURDATE()) AS TIME#当前quarter的第一天:  select concat(date_format(LAST_DAY(MAKEDATE(EXTRACT(YEAR FROM  CURDATE()),1) + interval QUARTER(CURDATE())*3-3 month),'%Y-%m-'),'01');  #当前quarter的最后一天:  select LAST_DAY(MAKEDATE(EXTRACT(YEAR  FROM CURDATE()),1) + interval QUARTER(CURDATE())*3-1 month);#当年第一天:SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 DAY); #当年最后一天:SELECT concat(YEAR(now()),'-12-31'); 

新增一个星期,一个月,一个季度,一年

#新增一个星期SELECT DATE_ADD(now(), INTERVAL 1 week) time#新增一个月SELECT DATE_ADD(now(), INTERVAL 1 month) time#新增一个季度SELECT DATE_ADD(now(), INTERVAL 1 quarter) time#新增一年SELECT DATE_ADD(now(), INTERVAL 1 year) time

来源地址:https://blog.csdn.net/yxf771hotmail/article/details/131813659

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯