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 IS NULL使用索引案例讲解

    mysql IS NULL使用索引案例讲解

    这篇文章主要介绍了mysql IS NULL使用索引案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • mysql 8.0.18.zip安装配置方法图文教程(windows 64位)

    mysql 8.0.18.zip安装配置方法图文教程(windows 64位)

    这篇文章主要为大家详细介绍了mysql 8.0.18.zip安装配置方法图文教程,以及卸载以前数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • mysql数据库导出xml的实现方法

    mysql数据库导出xml的实现方法

    因为有人问到如何将mysql数据库导出为xml文件,所以发现了这篇文章
    2008-09-09
  • Mysql中调试存储过程最简单的方法

    Mysql中调试存储过程最简单的方法

    以前同事告诉我用临时表插入变量数据来查看,但是这种方法过于麻烦,而且Mysql没有比较好的调试存储过程的工具。今天google了下发现可以用select + 变量名的方法来调试
    2021-06-06
  • MYSQL日志的正确删除方法详解

    MYSQL日志的正确删除方法详解

    这篇文章主要介绍了MYSQL日志的正确删除方法,详细分析了MySQL日志删除的步骤与相关注意事项,需要的朋友可以参考下
    2016-04-04
  • mysql导出表的字段和相关属性的步骤方法

    mysql导出表的字段和相关属性的步骤方法

    在本篇文章里小编给大家分享了关于mysql导出表的字段和相关属性的步骤方法,有需要的朋友们跟着学习下。
    2019-01-01
  • MySql减少内存占用的方法详解

    MySql减少内存占用的方法详解

    这篇文章主要介绍了MySql减少内存占用的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-07-07
  • MySQL5创建存储过程的示例

    MySQL5创建存储过程的示例

    存储过程可以一次执行多个sql语句,所以php只连接数据库一次就能查询多个语句;不过要返回多个结果集就必须用mysqli扩展来查询,否则会提示错误can't return a result set in the given context
    2008-09-09
  • macOS下mysql 8.0.16 安装配置图文教程

    macOS下mysql 8.0.16 安装配置图文教程

    这篇文章主要为大家详细介绍了macOS下mysql 8.0.16 安装配置图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 详解Mysql通讯协议

    详解Mysql通讯协议

    这篇文章对Mysql的通讯协议做了详细介绍和说明,希望我们整理的内容对你有用,一起学习下吧。
    2017-12-12

最新评论