原文链接:http://blog.youkuaiyun.com/SunFlowerXT/article/details/70159456?locationNum=13&fps=1
-- 当天
SELECT * FROM cc_task WHERE to_days(CREATE_DATE) = to_days(now());-- 本周
SELECT * FROM cc_task WHERE YEARWEEK(date_format(CREATE_DATE,'%Y-%m-%d'),1) = YEARWEEK(now(),1);
【注】:
-- 查询本周:SELECT yearweek( '2017-10-08 15:38:22',1 ) -- 结果是201740
SELECT yearweek( '2017-10-08 15:38:22' ) -- 结果是201741
SELECT yearweek( '2017-10-09 15:38:22' ) -- 结果是201741
-- yearweek的第2个参数设置为1的原因是,中国人习惯把周1作为本周的第一天
-- 另外补充下:
-- 2017-10-08 是周日,2017-10-09是周一。
SELECT dayofweek( '2017-10-08 15:38:22' )-- 查询出的是1,把周日作为一周的第1天。
SELECT dayofweek( '2017-10-09 15:38:22' )-- 查询出的是2,把周一作为一周的第2天。
SELECT weekday( '2017-10-08 15:38:22' )-- 查询出的是6,
SELECT weekday( '2017-10-09 15:38:22' )-- 查询出的是0,
-- 所以建议使用weekday,查询出来的结果+1就可以了,就比较符合国人的习惯了。
SELECT * FROM `table_name` WHERE YEARWEEK(date_format(时间字段,'%Y-%m-%d'),1) = YEARWEEK(now(),1);
-- 最近7天
SELECT TASK_ID,CREATE_DATE FROM cc_task where date_sub(curdate(), INTERVAL 7 DAY) <= CREATE_DATE; -- CREATE_DATE为(时间字段)
-- 前7天
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE CREATE_DATE between date_sub(now(),interval 7 DAY) and now();-- 查询距离当前现在6个月的数据(前6个月)
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE CREATE_DATE between date_sub(now(),interval 6 month) and now();
-- 本月
SELECT TASK_ID,CREATE_DATE FROM cc_task where date_format(CREATE_DATE, '%Y%m') = date_format(curdate() , '%Y%m');
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE YEAR(date_format(create_date,'%y-%m-%d')) = YEAR(now()) and MONTH(date_format(create_date,'%y-%m-%d')) = MONTH(now());
-- 上个月
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( CREATE_DATE, '%Y%m' ) ) =1
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE date_format(create_date,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m');
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE DATE_FORMAT(create_date,'%Y%m') = DATE_FORMAT(CURDATE(),'%Y%m')-1 ;
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE YEAR(date_format(create_date,'%y-%m-%d')) = YEAR(now()) and MONTH(date_format(create_date,'%y-%m-%d')) = MONTH(now())-1;
-- 本季度
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE QUARTER(create_date)=QUARTER(now());
-- 查询上季度数据
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
-- 查询本年数据
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE YEAR(create_date)=YEAR(NOW());
-- 查询上年数据
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE year(create_date)=year(date_sub(now(),interval 1 year));
-- 查询明年数据
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE year(create_date)=year(date_sub(now(),interval -1 year));
-- 查询上周的数据
SELECT TASK_ID,CREATE_DATE FROM cc_task WHERE YEARWEEK(date_format(create_date,'%Y-%m-%d')) = YEARWEEK(now())-1;