Mysql获取指定时间范围数据的各种实例

 更新时间:2023年05月09日 10:22:35   作者:王雀跃  
最近在做管理后台报表时,给定一个日期范围,查出库中这个日期范围内的每一天数据,下面这篇文章主要给大家介绍了关于Mysql获取指定时间范围数据的相关资料,需要的朋友可以参考下

前言

MySQL获取某个时间范围内的数据 TO_DAYS(date)函数。

to_days():返回从0000年至当前日期的总天数。

表数据:

1、今天(TO_DAYS())

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

2、今天昨天(TO_DAYS())

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) – TO_DAYS(字段名) <= 1

3.近7天(DATE_SUB())

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

4.本月(DATE_FORMAT())

SELECT * FROM 表名 WHERE DATE_FORMAT(字段名, ‘%Y%m') = DATE_FORMAT( CURDATE( ) , ‘%Y%m' )

5.上一月(PERIOD_DIFF()) 

SELECT * FROM 表名 WHERE PERIOD_DIFF( date_format( now( ) , ‘%Y%m' ) , date_format(字段名, ‘%Y%m') ) =1

6.本季度

select * from `表名` where QUARTER(字段名)=QUARTER(now());

7.上季度

select * from `表名` where QUARTER(字段名)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));

8.本年

select * from `表名` where YEAR(字段名)=YEAR(NOW());

9.去年

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

10.本周

SELECT * FROM 表名 WHERE YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(now());

11.上周

SELECT * FROM 表名 WHERE YEARWEEK(date_format(字段名,'%Y-%m-%d')) = YEARWEEK(now())-1;

 为空是因为默认按周日为第一天。

根据yearweek(date,mode)可知,第二个参数可以设置第一天是周几。

12.本月

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

13.距今6个月

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

总结 

到此这篇关于Mysql获取指定时间范围数据的文章就介绍到这了,更多相关Mysql获取指定时间范围数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Mysql优化之Zabbix分区优化

    Mysql优化之Zabbix分区优化

    这篇文章主要介绍了Mysql优化中Zabbix分区优化的详细方法和优缺点分析,一起学习下。
    2017-11-11
  • MySQL进行大数据量分页的优化技巧分享

    MySQL进行大数据量分页的优化技巧分享

    mysql大数据量分页情况下性能会很差,所以本文就来讲一讲mysql大数据量下偏移量很大,性能很差的问题,并附上解决方式,希望对大家有所帮助
    2024-01-01
  • 详解Mysql两表 join 查询方式

    详解Mysql两表 join 查询方式

    这篇文章主要介绍了Mysql两表 join 查询方式,主要包括SQL基本语法格式ji3种join方式,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-10-10
  • 关于MySQL中Update使用方法举例

    关于MySQL中Update使用方法举例

    这篇文章主要给大家介绍了关于MySQL中Update使用方法的相关资料,更新数据是使用数据库时最重要的任务之一,在本教程中您将学习如何使用MySQL UPDATE语句来更新表中的数据,需要的朋友可以参考下
    2023-11-11
  • centOS下mysql workbench安装配置教程

    centOS下mysql workbench安装配置教程

    这篇文章主要为大家详细介绍了centOS下mysql workbench安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • MySQL批量修改表及表内字段排序规则举例详解

    MySQL批量修改表及表内字段排序规则举例详解

    在MySQL中字段排序规则(也称为字符集和排序规则)用于确定如何比较和排序字符串,下面这篇文章主要给大家介绍了关于MySQL批量修改表及表内字段排序规则的相关资料,需要的朋友可以参考下
    2024-05-05
  • Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决方法

    Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(usi

    这篇文章主要给大家介绍了关于Linux连接mysql数据库报错:Access denied for user ’root‘@’localhost‘(using password: YES)的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-01-01
  • mysql count()函数不计算null和空值问题

    mysql count()函数不计算null和空值问题

    这篇文章主要介绍了mysql count()函数不计算null和空值问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法

    MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法

    这篇文章主要给大家介绍了关于MySQL中配置文件my.cnf因权限问题导致无法启动的解决方法,该无法启动的错误提示代码是:World-writable config file '/etc/my.cnf' is ignored,文中给出了详细的解决方法,需要的朋友们下面来一起看看吧。
    2017-06-06
  • MySQL半同步复制原理配置与介绍详解

    MySQL半同步复制原理配置与介绍详解

    这篇文章主要介绍了MySQL半同步复制原理配置与介绍详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01

最新评论