酷站(www.ku0.com)-致力于为互联网从业者提供专业的网络资源资讯

热门关键词:  企业  as  baidu  c4rp3nt3r  美女

MySQL中查询当前时间间隔前1天的数据

来源:互联网 作者:秩名 人气: 发布时间:2021-12-09
本篇文章主要介绍了MySQL中查询当前时间间隔前1天的数据,对大家的学习或者工作具有一定的参考学习价值,感兴趣的小伙伴们可以参考一下,也感谢大家对酷站(ku0.com)的支持。

1.背景

实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行。

避免执行全量的数据导致内存占用过大或执行时间过长导致OOM等问题。

这里我们就会用到SQL来过滤当前时间间隔1天或几天的查询。

1.1.查询SQL语句

这里用到一张talk_course表作为查询sql语句的执行表单,表的字段如下:

表中大致有如下几条测试数据:

查询距离当前执行时间前一天的SQL语句如下:

# 查询距离当前时间前1天的数据
SELECT * FROM `talk_course` t
WHERE t.createTime <= NOW() 
AND t.createTime >= date_sub(now(), interval 1 day);

查询结果:

查询当前时间的前一天的时间:

 # 查询当前时间的前一天的时间
SELECT date_sub(now(),interval 1 day) as yesterday

1.2.查询语句分析

这里用到了两个函数:

DATE_ADD(date,INTERVAL expr unit)
DATE_SUB(date,INTERVAL expr unit)

DATE_ADD() 函数向日期添加指定的时间间隔。

DATE_SUB() 函数向日期减少指定的时间间隔。

其中expr参数是您希望添加的时间间隔。

type 参数可以是下列值:

Type 值
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH

 

版权声明:本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 959677720#qq.cn(#换@) 举报,一经查实,本站将立刻删除。
原文链接:https://www.cnblogs.com/yif0118/archive/2021/12/08/15659617.html

相关文章

  • MySQL中查询当前时间间隔前1天的数据

    MySQL中查询当前时间间隔前1天的数据

    1.背景 实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行......
    12-09
  • Mysql实现数据同步到Elasticsearch的介绍

    Mysql实现数据同步到Elasticsearch的介绍

    一、同步原理 基于Mysql的binlog日志订阅:binlog日志是Mysql用来记录数据实时的变化,Mysql数据同步到ES中分为两种,分别是全量同步和增量同步,全量同步表示第一次建立好......
    11-24
  • MySQL数据库10秒内插入百万条数据的方法

    MySQL数据库10秒内插入百万条数据的方法

    首先我们思考一个问题: 要插入如此庞大的数据到数据库,正常情况一定会频繁地进行访问,什么样的机器设备都吃不消。那么如何避免频繁访问数据库,能否做到一次......
    10-31
  • MySQL数据库事务transaction示例介绍

    MySQL数据库事务transaction示例介绍

    1、什么是事务? 一个事务是一个完整的业务逻辑单元,不可再分。 比如:银行账户转账,从A账户向B账户转账10000,需要执行两条update语句: update t_act set balance=balance-......
    10-27
  • MySQL七种JOIN类型介绍

    MySQL七种JOIN类型介绍

    在开始之前,我们创建两个表用于演示将要介绍的其中JOIN类型。 建表 CREATE TABLE `tbl_dept` ( `id` INT(11) NOT NULL AUTO_INCREMENT, `deptName` VARCHAR(30) DEFAULT NULL, `locAdd` VARCHAR(40) DEFAUL......
    10-22
  • MySQL索引下推的详细介绍

    MySQL索引下推的详细介绍

    前言: 索引下推(ICP)是针对MySQL使用索引从表中检索数据行的情况的优 在没有索引下推的情况下,MySQL通过存储引擎遍历索引来定位表中的数据行并将它们返回给MySQl服务......
    10-09
  • 解决MySql8.0查看事务隔离级别报错的问题

    解决MySql8.0查看事务隔离级别报错的问题

    ySql8.0 查看事务隔离级别报错 问题 数据库查看事务隔离级别 select @@global.tx_isolation,@@tx_isolation; 报错: mysql select @@global.tx_isolation,@@tx_isolation; ERROR 1193 (HY000): Unknown system ......
    10-09
  • mysql如何能有效防止删库跑路

    mysql如何能有效防止删库跑路

    大家肯定听说过,有些开发者由于个人失误,在delete或者update语句的时候没有添加where语句,导致整个表数据错乱。 mysql安全模式:mysql发现delete、update语句没有添加wher......
    10-05
  • Mysql binlog日志文件过大的解决方法

    Mysql binlog日志文件过大的解决方法

    磁盘突然报错使用率过大,排查原因,发现mysql的binlog文件占用过大 命令 ls -l -h mysql-binlog是MySQL数据库的二进制日志,用于记录用户对数据库操作的SQL语句((除了数据查......
    10-05
  • MySQL中limit对查询语句性能的影响

    MySQL中limit对查询语句性能的影响

    首先说明一下MySQL的版本: mysql select version();+-----------+| version() |+-----------+| 5.7.17 |+-----------+1 row in set (.00 sec) 表结构: mysql desc test;+--------+---------------------+------+-----+---......
    09-21