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

2022-05-15 0 353

1.背景

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

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

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

1.1.查询SQL语句

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

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

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

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

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

# 查询距离当前时间前1天的数据
SELECT * FROM `talk_course` t
WHERE t.createTime <= NOW() 
AND t.createTime >= date_sub(now(), interval 1 day);

查询结果:

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

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

# 查询当前时间的前一天的时间
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天内容请搜索NICE源码以前的文章或继续浏览下面的相关文章希望大家以后多多支持NICE源码!

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MySql MySQL中查询当前时间间隔前1天的数据 https://www.niceym.com/35934.html