每周第一天:
select curdate(), date_add(curdate(),interval -weekday(curdate()) day) ;
每月第一天 :
select curdate(), date_sub(curdate(),interval day(curdate())-1 day) ;
当前月的天数 :
select datediff(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual ;
任意一天转换为当月第一天 :
select date_add( " 时间字段",interval -day(create_time)+1 day) ;
mysql查询本季度 :
今天
select * from "表名" where to_days("时间字段") = to_days(now());
7天
SELECT *FROM "表名" where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date("时间字段") ;
近30天
SELECT *FROM "表名" where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date( "时间字段");
本月
SELECT *FROM "表名" WHERE DATE_FORMAT( "时间字段", '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' ) ;
上一月
SELECT *FROM "表名" WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( "时间字段", '%Y%m' ) ) =1;
本季度数据:
select * from `表名` where QUARTER("时间字段")=QUARTER(now());
上季度数据:
select * from `表名` where QUARTER('时间字段')=QUARTER(DATE_SUB(now(),interval 1 QUARTER));
本年数据:
select * from `表名` where YEAR('时间字段')=YEAR(NOW());
上年数据:
select * from `表名` where year('时间字段')=year(date_sub(now(),interval 1 year));
当前这周的数据:
SELECT '字段' FROM '表名' WHERE YEARWEEK(date_format('时间字段',’%Y-%m-%d’)) = YEARWEEK(now());
上周的数据:
SELECT '字段' FROM '表名' WHERE YEARWEEK(date_format('时间字段',’%Y-%m-%d’)) = YEARWEEK(now())-1;
当前月份的数据:
select '字段' from '表名' where date_format('时间字段',’%Y-%m’)=date_format(now(),’%Y-%m’);
距离当前现在6个月的数据:
select '字段' from '表名' where '时间字段' between date_sub(now(),interval 6 month) and now();
上个月的数据:
select '字段' from '表名' where date_format('时间字段',’%Y-%m’)=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),’%Y-%m’);
相关文章
暂无评论...