需求:笔者在写接口自动化的时,需要查询当前24小时内的数据来对比接口返回的数据,所有就需要查询当前
时间的前24小时的数据,由于时间具有不确定性,所以没法用精确时间查询,于是就各种百度并且问了
开发大哥,终于解决了!!!

其实,mysql中就有这么2个内置函数,来帮我们解决此类问题:
- DATE_ADD(date,INTERVAL expr type)
在指定时间内添加时间 - DATE_SUB(date,INTERVAL expr type)
在指定时间内减少时间
语法
- DATE_ADD(date,INTERVAL expr type)
- DATE_SUB(date,INTERVAL expr type)
data:指定开始时间
expr:时间间隔
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 【年_月】
例:查询当前时间前24小时
select data_sub(now(),INTERVAL 24 hour)
也可以这样:
select data_add(now(),INTERVAL -24 hour)
所以:
data_sub()和data_add()互为相反
也可以查询某个时间字段的前24小时
- select * from 表名 where 字段 >= date_add(now(), interval -24 hour);
今天头发又比昨天少了

持续学习中!!!
头秃,头秃,头秃
网友评论