MySQL中查询当前时间间隔前1天的数据
程序员文章站
2022-03-09 23:12:45
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天内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: 展望CDI 2.0规范
推荐阅读
-
mysql中取系统当前时间,当前日期方便查询判定的代码
-
mysql中取系统当前时间,当前日期方便查询判定的代码
-
MySQL实现当前数据表的所有时间都增加或减少指定的时间间隔(推荐)
-
MySQL实现当前数据表的所有时间都增加或减少指定的时间间隔(推荐)
-
mysql 定时删除当前时间前 分钟的数据
-
mysql 定时删除当前时间前 分钟的数据
-
MySQL中查询当前时间间隔前1天的数据
-
mysql中取系统当前时间,当前日期方便查询判定的代码_MySQL
-
在MYSQL中插入当前时间,就象SQLSERVER的GETDATE()一样。(见内)-数据库相关-P
-
在MYSQL中插入当前时间,就象SQLSERVER的GETDATE()一样。(见内)-数据库相关-P_PHP教程