mysql 查询当天、本周,本月,上一个月的数据
今天
select*from表名whereto_days(时间字段名)=to_days(now());
昨天
SELECT*FROM表名WHERETO_DAYS(NOW())-TO_DAYS(时间字段名)<=1
近7天
SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL7DAY)<=date(时间字段名)
近30天
SELECT*FROM表名whereDATE_SUB(CURDATE(),INTERVAL30DAY)<=date(时间字段名)
本月
SELECT*FROM表名WHEREDATE_FORMAT(时间字段名,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
上一月
SELECT*FROM表名WHEREPERIOD_DIFF(date_format(now(),'%Y%m'),date_format(时间字段名,'%Y%m'))=1
查询本季度数据
select*from`ht_invoice_information`whereQUARTER(create_date)=QUARTER(now());
查询上季度数据
select*from`ht_invoice_information`whereQUARTER(create_date)=QUARTER(DATE_SUB(now(),interval1QUARTER));
查询本年数据
select*from`ht_invoice_information`whereYEAR(create_date)=YEAR(NOW());
查询上年数据
select*from`ht_invoice_information`whereyear(create_date)=year(date_sub(now(),interval1year));
查询当前这周的数据
SELECTname,submittimeFROMenterpriseWHEREYEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now());
查询上周的数据
SELECTname,submittimeFROMenterpriseWHEREYEARWEEK(date_format(submittime,'%Y-%m-%d'))=YEARWEEK(now())-1;
查询上个月的数据
selectname,submittimefromenterprisewheredate_format(submittime,'%Y-%m')=date_format(DATE_SUB(curdate(),INTERVAL1MONTH),'%Y-%m') select*fromuserwhereDATE_FORMAT(pudate,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m'); select*fromuserwhereWEEKOFYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d'))=WEEKOFYEAR(now()) select*fromuserwhereMONTH(FROM_UNIXTIME(pudate,'%y-%m-%d'))=MONTH(now()) select*fromuserwhereYEAR(FROM_UNIXTIME(pudate,'%y-%m-%d'))=YEAR(now())andMONTH(FROM_UNIXTIME(pudate,'%y-%m-%d'))=MONTH(now()) select*fromuserwherepudatebetween上月最后一天and下月第一天
查询当前月份的数据
selectname,submittimefromenterprisewheredate_format(submittime,'%Y-%m')=date_format(now(),'%Y-%m')
查询距离当前现在6个月的数据
selectname,submittimefromenterprisewheresubmittimebetweendate_sub(now(),interval6month)andnow();
PS:下面看下mysql如何查询当天信息?
原来不是太熟悉SQL查询语句,什么都是用到了再去查去找,还好网络提供给我们很多支持。今天又用到了一个语句,一时间真想不出怎么解决,到网上看了看,感觉就有一个,怎么那么简单啊。需要积累的东西真是太多了。
今天就把我这个简单的问题记录下来吧!算是一个积累:
mysql查询当天的所有信息:
select*fromtestwhereyear(regdate)=year(now())andmonth(regdate)=month(now())andday(regdate)=day(now())
这个有一些繁琐,还有简单的写法:
select*fromtablewheredate(regdate)=curdate();
date()函数获取日期部分,扔掉时间部分,然后与当前日期比较即可
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。