本篇文章小编给大家分享一下MySQL中查询当前时间间隔前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 参数可以是下列值:
罚罪1+2全80集阿里云盘全集资源链接-罚罪1+2全集高清1080P/4K阿里云盘资源下载无删减
邵氏精品禁品未删减资源在线看-必看的50部邵氏电影无删减观看入口
羞羞漫画高清最新资源-正规平台免费入口与无删减资源导航
日漫入口-官方认证安全入口与无删减日漫资源直达导航
一拳超人漫画入口-2026最新免费高清全集在线看
杨紫《生命树》1080p全40集迅雷磁力链接分享-杨紫《生命树》40集高清完整版迅雷云盘下载1080P(4k)资源