mysql数据库您要的常见日期查询方法总结

 更新时间:2025年02月05日 11:20:52   作者:gis分享者  
这篇文章主要介绍了MySQL中常用日期查询的20种方法,包括查询今天、昨天、近7天、近30天等数据,以及查询特定日期的周、月、季度和年份数据,需要的朋友可以参考下

一、前言

本文介绍了mysql常用日期查询的方法。希望能帮助到您。

二、常见日期查询方法

1、查询今天数据

select * from 表名 where to_days(时间字段名) = to_days(now());

2、查询昨天数据

select * from 表名 where to_days(now( )) - to_days( 时间字段名) <= 1

3、查询近7天数据

select * from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段名)

4、查询近30天数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

5、查询当前月数据

select * from 表名 where date_format( 时间字段名, '%y%m' ) = date_format( curdate() , '%y%m')

6、查询上一月数据

select * from 表名 where period_diff( date_format( now( ) , '%y%m' ) , date_format( 时间字段名, '%y%m' ) ) =1

7、查询本季度数据

select * from 表名 where quarter(create_date)=quarter(now());

8、查询上季度数据

select * from 表名 where quarter(create_date)=quarter(date_sub(now(),interval 1 quarter));

9、查询本年数据

select * from 表名 where year(create_date)=year(now());

10、查询上年数据

select * from 表名 where year(create_date)=year(date_sub(now(),interval 1 year));

11、查询当前周的数据

select * from 表名 where yearweek(date_format(create_date,'%y-%m-%d')) = yearweek(now());

12、查询上周的数据

select * from 表名 where yearweek(date_format(create_date,'%y-%m-%d')) = yearweek(now())-1;

13、查询上个月的数据

select * from 表名 where date_format(create_date,'%y-%m')=date_format(date_sub(curdate(), interval 1 month),'%y-%m')

14、查询当前月份的数据

select * from 表名   where date_format(create_date,'%Y-%m')=date_format(now(),'%Y-%m')

15、查询距离当前现在6个月的数据

select * from 表名 where create_date between date_sub(now(),interval 6 month) and now();

16、查询某一天所在周的第一天

select
case when dayname(date('2022-3-10'))='sunday'
then date_sub(date('2022-3-10'),interval 6 day)
else date_add('2022-3-10',interval -dayofweek(date('2022-3-10'))+2 day) end

17、查询某一天所在周的最后一天

select case when dayname(date('2022-3-11'))='sunday' then date('2022-3-11') else date_add('2022-3-11',interval 7-dayofweek('2022-3-11')+1 day) end

18、查询某一天的所在月的第一天

select date_add( date_add(last_day('2022-06-03'),interval 1 day ),interval -1 month );

19、查询某一天所在月的最后一天

select last_day('2022-03-03');
select date_format(now(),'%y-%m-%d %h:%i:%s');

20、查询某一天所在月的天数

select timestampdiff(day,'2023-03-03',(date_add('2017-03-03',interval 1 month)));

附:日期函数解析

date_format()

格式化日期格式,“date_format(时间戳,时间格式)”

date_sub()

从日期减去指定的时间间隔;函数形式DATE_SUB(date,INTERVAL expr type),date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔,时间间隔参数非常全面,常用的为 年月日时分秒;

//减天数
date_sub(时间,INTERVAL 1 DAY)
//减月份
date_sub(时间,INTERVAL 1 MONTH)

yearweek()

返回指定的日期是哪一年的哪个星期,函数形式为 YEARWEEK(date[,mode]) ,其中date的格式一般为‘年-月-日’,mode为1代表一个星期从星期一开始;

weekday()

接受1个参数,即DATE或DATETIME值,函数形式为WEEKDAY(date);返回一个整数,范围从0到6,表示星期一到星期日,即星期一为0,星期二为1,星期日为6;

period_diff()

返回两个时间相差的月份数,注意它是前一个时间减后一个时间。

注意: period1和period2的格式应相同。

 SELECT PERIOD_DIFF(201710, 201703);

总结 

到此这篇关于mysql数据库常见日期查询方法的文章就介绍到这了,更多相关mysql日期查询方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL面试题讲解之如何设置Hash索引

    MySQL面试题讲解之如何设置Hash索引

    今天研究下mysql中索引,首先我应该知道的是,mysql中不同存储引擎的索引工作方式不一样,并且不是所有的存储引擎都支持所有类型的索引。即使多个存储引擎支持同一种类型的索引,那么他们的实现原理也是不同的,本文将讲解Hash索引该如何设置
    2021-10-10
  • Mysql带And关键字的多条件查询语句

    Mysql带And关键字的多条件查询语句

    MySQL带AND关键字的多条件查询,MySQL中,使用AND关键字,可以连接两个或者多个查询条件,只有满足所有条件的记录,才会被返回
    2017-07-07
  • MySQL kill不掉线程的原因

    MySQL kill不掉线程的原因

    这篇文章主要介绍了MySQL kill不掉线程的原因,帮助大家更好的理解和学习使用MySQL数据库,感兴趣的朋友可以了解下
    2021-05-05
  • LEFT JOIN条件在on后面和在where后面的区别及说明

    LEFT JOIN条件在on后面和在where后面的区别及说明

    这篇文章主要介绍了LEFT JOIN条件在on后面和在where后面的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • MySQL数据库定时备份的几种实现方法

    MySQL数据库定时备份的几种实现方法

    本文主要介绍了MySQL数据库定时备份的几种实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-07-07
  • MySQL中删除重复数据的简单方法

    MySQL中删除重复数据的简单方法

    这篇文章主要介绍了MySQL中删除重复数据的简单方法,比起一般的NOT IN语句的效率更为高,需要的朋友可以参考下
    2015-05-05
  • mysql字段名和关键字冲突的问题

    mysql字段名和关键字冲突的问题

    这篇文章主要介绍了mysql字段名和关键字冲突的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • mysql报错:1406 Data too long for column问题的多种解决方案

    mysql报错:1406 Data too long for colu

    这篇文章给大家介绍了多种解决mysql报错:1406, Data too long for column的解决方法,如果有遇到相同问题的朋友可以参考阅读本文,对解决问题有一定的帮助,需要的朋友可以参考下
    2023-09-09
  • MYSQL查询结果实现发送给客户端

    MYSQL查询结果实现发送给客户端

    这篇文章主要介绍了MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • 删除MySQL中所有表的外键的两种方法

    删除MySQL中所有表的外键的两种方法

    这篇文章主要介绍了删除MySQL中所有表的外键的两种方法,文中通过代码示例讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-05-05

最新评论