MySQL中查询当前时间间隔前1天的数据 1.背景 实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行. 避免执行全量的数据导致内存占用过大
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 |
到此这篇关于MySQL中查询当前时间间隔前1天的数据的文章就介绍到这了,更多相关mysql查询当前时间前1天内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
本文标题为:MySQL中查询当前时间间隔前1天的数据


基础教程推荐
- Windows10系统中Oracle完全卸载正确步骤 2023-07-24
- redis 数据库 2023-09-13
- redis乐观锁与悲观锁的实战 2023-07-13
- SQL Server如何设置用户只能访问特定数据库和访问特定表或视图 2023-07-29
- Java程序员从笨鸟到菜鸟(五十三) 分布式之 Redis 2023-09-11
- oracle19c卸载教程的超详细教程 2023-07-23
- Python常见库matplotlib学习笔记之画图中各个模块的含义及修改方法 2023-07-27
- Mariadb数据库主从复制同步配置过程实例 2023-07-25
- Python安装第三方库的方法(pip/conda、easy_install、setup.py) 2023-07-28
- oracle数据库排序后如何获取第一条数据 2023-07-24