比如mysql查询时间在创建时间3天之内的数据
select id,name,create_time from sys_dict

查询创建时间加上3天后的时间
select date_add(create_time , interval 3 day) from sys_dict

说明:这里使用interval函数,指定时间间隔,后面跟上数字加时间单位,可以是时,分,秒等
日期增加一个时间间隔:date_add()
为日期减去一个时间间隔:date_sub()
set @dt = now();
select date_add(@dt, interval 1 day); -加1天
select date_add(@dt, interval 1 hour); -加1小时
select date_add(@dt, interval 1 minute); -加1分钟
select date_add(@dt, interval 1 second); -加1秒
select date_add(@dt, interval 1 microsecond); -加1毫秒
select date_add(@dt, interval 1 week); -加1周
select date_add(@dt, interval 1 month); -加1月
select date_add(@dt, interval 1 quarter); -加1季
select date_add(@dt, interval 1 year); -加1年
查询创建用户为1的3天内的数据,这里需要把时间转换为String类型,这样就不会有DateTimel的0.0.0的比较问题(使用了DATE_FORMAT(date,format))当前时间now()是当天查询时间
select id,name,create_time,create_user from sys_dict where DATE_FORMAT(date_add(create_time , interval 3 day),'%Y-%m-%d %H:%i:%s') >= DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s') and create_user =1 and create_user = 1

本文介绍了如何使用MySQL的date_add()函数查询创建时间在当前时间3天内的数据。通过设置时间间隔,可以灵活地获取不同时间段内的记录。例如,通过DATE_FORMAT()函数将日期格式化,确保了与当前时间的正确比较,避免了DateTime类型的比较问题。
10万+

被折叠的 条评论
为什么被折叠?



