不引用时间字段名
当天
SELECT * FROM表名WHERE TO_DAYS (时间字段名)=to _ days (now );
几天前
-昨天。 几天前=数
SELECT * FROM表名whereto_days(now ) )- TO_DAYS时间字段名)=1;
本周
SELECT * FROM表名whereyearweek (date _ format (send _ time,' %Y-%m-%d ',1 )=yearweek ) now ),1 );
很多博客写的是:
SELECT * FROM表名whereyearweek(date_format (时间字段名,(%Y-%m-%d ) ) )=yearweek (否) ) ) ) )
中西星期算法不同,中方星期一是西星期天,需要推迟一天。 很多博客本周获取上周数据的sql是错误的。
eg .今天2020.8.31,根据中国的星期算法,这一天是星期一,根据西方算法,这一天是星期天。
上周
SELECT * FROM表名whereyearweek (date _ format (send _ time,' %Y-%m-%d ',1 )=yearweek ) now ),1 );
这七天
SELECT * FROM表名wheredate_sub(curdate (,INTERVAL 7 DAY )=DATE )时间字段名);
这30天
SELECT * FROM表名wheredate_sub(curdate (,INTERVAL 30 DAY )=DATE )时间字段名;
本月
选择* f