首页 > 数据库 >mysql 查询两个日期之间所有天数(查询近两个月所有日期)

mysql 查询两个日期之间所有天数(查询近两个月所有日期)

时间:2023-01-31 16:44:52浏览次数:44  
标签:help 查询 topic 日期 mysql date sub

本文转自博文:https://blog.csdn.net/qq_42795259/article/details/126722209

遇到一个需求需要查询近两个月所有日期,如下图:

 

首先实现解决问题如何获取两个日期所有日期,可以通过以下sql实现功能:

SELECT
date_sub('2022-07-06',interval ( @i := @i - 1 ) day) as days
from mysql.help_topic
join (select @i:=1) c
where help_topic_id <= (TIMESTAMPDIFF(day,'2022-07-06','2022-09-06'))

在解决核心问题后,现在获取两个月前当前日期:

 

所以这个地方用到了,类

select DATE_ADD(NOW(), interval 1 MONTH) //NOW()此处必须为时间格式
————————————————————————
date_add() 增加
date_sub()减少
————————————————————
month 月份
minute 分钟
second 秒

得到以下函数今天日期和两个月后当前日期,再把她们结合在最开始两个时间段中可以得到最终sql,获取近两个月所有日期。

select curdate(); //获取今天
select date_sub(curdate(), interval 2 MONTH); //获取两个月后当前日期

SELECT
date_sub(date_sub(curdate(), interval 2 MONTH),interval ( @i := @i - 1 ) day)  as days
from mysql.help_topic 
join (select @i:=1) c
where help_topic_id <= (TIMESTAMPDIFF(day,date_sub(curdate(), interval 2 MONTH),curdate()))

同理可以实现其他功能,例如查询本年所有月份:

    SELECT DATE_FORMAT(DATE_ADD(CONCAT(YEAR(DATE(NOW())),'-01-01'),INTERVAL (CAST( help_topic_id AS SIGNED )) MONTH ),'%Y-%m') months
    FROM mysql.help_topic
    WHERE help_topic_id < 12 ORDER BY months ASC

————————————————
版权声明:本文为CSDN博主「沐游虞」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42795259/article/details/126722209

标签:help,查询,topic,日期,mysql,date,sub
From: https://www.cnblogs.com/ykagile/p/17079708.html

相关文章

  • MySQL Others--读写偏序问题
    读偏序(ReadSkew)在已提交读(readcommitted)事务隔离级别下,事务T1先读取数据X,然后事务T2修改数据X和Y,然后事务T1再读取数据Y,事务T1读取到的X和Y不满足一致性约束。在可......
  • mysql的七种基本关联查询方式
       --内连接SELECTlast_name,department_nameFROMemployeeseJOINdepartmentsdONe.department_id=d.department_id--左外连接SELECTlast_name......
  • mysql查询sql总结
    连表查询一文搞定MySQL多表查询中的表连接(join)SELECT a.id, b.server_idfrom release_recordasa JOINrelease_detailsasb ona.id=b.release_id解析:......
  • Docker 安装 MySQL5.7
    1.拉取数据库镜像dockerpullmysql:5.7 dockerimages命令查看镜像是否下载成功dockerimages2.配置mysql创建mysql目录,用于存放mysql相关配置及数据mkdir-p......
  • vxe-table 弹框之中日期 和 下拉框 被遮挡
    业务开发中发现编辑表格中的下拉框和日期被遮挡如下图  解决方法1、select增加下拉框z-index层架+官方提供的-slect上加上-:transfer="true".vxe-table--......
  • 被面试官问住了,MySQL两阶段提交是什么鬼?
    “MySQL中既存在redolog,又存在binlog,这是因为BinLog是MySQLServer提供的一种归档日志,其本身并不具备Crash-Safe能力。而RedoLog本身不具备归档能力,他是一种循环写的日......
  • MysqlB树、B+树索引原理、性能优化原理、
    Mysql索引为什么选择B+树这种数据结构1、二叉树无法解决单边增长的问题。2、红黑树虽然可以通过节点旋转来达到节点自动平衡的问题、但无法有效控制树的高度。3、B树、B+......
  • mysql 数据导入导出命令详解
    一、导入导出场景及简单用法都是基于文本文件导入:mysqlimport-usystem-p-S/usr/local/mysql/data/mysql.socktest--fields-terminated-by=','/usr/local/mysql/tt3......
  • MySql中的指定顺序排序
    才发现MySQL中有个FIELD函数可以很方便的实现指定顺序排序。 语法:FIELD(value,val1,val2,val3,...)参数描述value必须。要在列表中搜索的值val1,val2,va......
  • php in_array 遍历,in_array大数组查询性能问题
    问题最近在实现一个项目接口的时候发现当数组过大的时候,数据返回的速度有点慢。接口数据返回最长反应时间2s,经过反复调试发现代码段耗时最长的部分在in_array()函数。解决......