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

实际项目中我们都会遇到分布式定时任务执行的情况,今天通过本文给大家分享MySQL中查询当前时间间隔前1天的数据,查询sql语句给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧

1.背景

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

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

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

1.1.查询sql语句

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

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

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

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

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

?

1

2

3

4

# 查询距离当前时间前1天的数据

select * from `talk_course` t

where t.createtime <= now()

and t.createtime >= date_sub(now(), interval 1 day);

查询结果:

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

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

?

1

2

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

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天内容请搜索钦钦技术栈以前的文章或继续浏览下面的相关文章希望大家以后多多支持钦钦技术栈!

原文链接:https://www.cnblogs.com/yif0118/archive/2021/12/08/15659617.html

版权声明:本文(即:原文链接:https://www.qin1qin.com/catagory/3712/)内容由互联网用户自发投稿贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 630367839@qq.com 举报,一经查实,本站将立刻删除。

(0)
上一篇 2022-07-20 10:11:58
下一篇 2022-07-20 10:12:07

软件定制开发公司

相关阅读

发表回复

登录后才能评论
通知:禁止投稿所有关于虚拟货币,币圈类相关文章,发现立即永久封锁账户ID!