一、查询前我们先看几个函数
1、TO_DAYS();
TO_DAYS() 是 MySQL 中的一个内建日期函数,它的主要作用是将一个日期转换为从公元元(0001-01-01)到该日期之间的天数。这对于进行日期间的相对比较或计算两个日期间隔尤为有用。
2、DATE_FORMAT
DATE_FORMAT()是将日期格式化日期字符串
3、DATE()
提取日期或日期/时间表达式的日期部分
4、DATE_SUB()
从日期减去指定的时间间隔
5、PERIOD_DIFF()
period_diff() 是一个 MySQL 日期/时间函数。它用于获取两个给定期间之间的月数差
二、查询语句
查询当天数据
SELECT * FROM hospital_inspection WHERE TO_DAYS(create_time) = TO_DAYS(NOW())
查询今天和昨天数据
SELECT * FROM hospital_inspection WHERE TO_DAYS(NOW()) - TO_DAYS(create_time) <= 1
查询近一周
SELECT * FROM table WHERE DATE(create_time) >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
查询近一个月
SELECT * FROM table WHERE date(create_time) >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
查询本月
select * from table where DATE_FORMAT(create_time, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )
查询上个月
select create_time from table where PERIOD_DIFF(DATE_FORMAT(now(),'%Y%m'),DATE_FORMAT(create_time,'%Y%m')) =1
查询本年
SELECT * FROM table WHERE YEAR(create_time) = YEAR(NOW())
查询去年
SELECT * FROM table WHERE YEAR(create_time) = YEAR(DATE_SUB(now(),INTERVAL 1 YEAR))
查询五分钟前
SELECT * FROM table WHERE create_time >= DATE_SUB(now(), INTERVAL 5 MINUTE)