在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
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_SUB() 函数向日期减少指定的时间间隔。 其中expr参数是您希望添加的时间间隔。 type 参数可以是下列值:
到此这篇关于MySQL中查询当前时间间隔前1天的数据的文章就介绍到这了,更多相关mysql查询当前时间前1天内容请搜索极客世界以前的文章或继续浏览下面的相关文章希望大家以后多多支持极客世界! |
请发表评论