首页 > 数据库技术 > 详细

MySQL 查询今天、昨天、本周、本月、上一月 、今年数据

时间:2020-01-16 09:57:45      阅读:207      评论:0      收藏:0      [点我收藏+]

参考链接:

https://www.cnblogs.com/winner-0715/p/6132838.html

一、查询天数据

1.查询今天数据

利用TO_DAYS函数

SELECT * FROM student 
WHERE TO_DAYS(Sage) = TO_DAYS(NOW())

注:

DATE_FORMAT(NOW(),‘%Y-%m-%d‘)为一个日期,不能直接进行加减1操作。

  加减某个时间间隔函数date_add()与date_sub()

date_add(‘某个日期时间‘,interval 1 时间种类名);

2.查询明天的数据

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,%Y-%m-%d) = date_add(DATE_FORMAT(NOW(),%Y-%m-%d), interval 1 day)

3.查询昨天的数据:

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,%Y-%m-%d) = date_add(DATE_FORMAT(NOW(),%Y-%m-%d), interval -1 day)

二、查询周数据

利用函数week

技术分享图片

 可以看到,返回了当前日期所在的周数,再进行匹配

1.查询本周数据

SELECT * FROM student 
WHERE WEEK(DATE_FORMAT(Sage,%Y-%m-%d)) = WEEK(now())

2.查询下周数据

SELECT * FROM student 
WHERE WEEK(DATE_FORMAT(Sage,%Y-%m-%d)) = WEEK(now())+1

三、查询月数据

SELECT *,DATE_FORMAT(Sage,%m) s,DATE_FORMAT(now(),%m) FROM student 

技术分享图片

将月份取出,再进行匹配

1.查询本月数据

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,%m)= DATE_FORMAT(now(),%m)

2.查询下月数据

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,%m)= DATE_FORMAT(now(),%m)+1
SELECT * FROM student 
WHERE PERIOD_DIFF(DATE_FORMAT(NOW(),%Y%m), DATE_FORMAT(Sage,%Y%m))=-1

3.查询上月数据

SELECT * FROM student
WHERE period_diff(DATE_FORMAT(NOW(),‘%Y-%m‘),DATE_FORMAT(Sage,‘%Y-%m‘))=1

 四、查询年数据,与月同理

SELECT *,DATE_FORMAT(Sage,%Y) s,DATE_FORMAT(now(),%Y) FROM student 

技术分享图片

 再进行匹配

如,我想查找30年前出生的人,将当前年份减去30

SELECT * FROM student 
WHERE DATE_FORMAT(Sage,%Y) =DATE_FORMAT(now(),%Y)-30

技术分享图片

MySQL 查询今天、昨天、本周、本月、上一月 、今年数据

原文:https://www.cnblogs.com/jescs/p/12199543.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!