vlambda博客
学习文章列表

实用收藏!mysql 数据库查询今天、昨天、本月、上月、上季度的数据


今天

select * from 表名 where to_days(时间字段名) = to_days(now());


昨天

SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1


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 `ht_invoice_information` where

QUARTER(create_date)=QUARTER(now());


查询上季度数据

select * from `ht_invoice_information` where

QUARTER(create_date)=QUARTER(DATE_SUB(now(),interval 1 QUARTER));


查询本年数据

select * from `ht_invoice_information` where

YEAR(create_date)=YEAR(NOW());


查询上年数据

select * from `ht_invoice_information` where

year(create_date)=year(date_sub(now(),interval 1 year));


查询当前这周的数据 

SELECT name,submittime FROM enterprise WHERE

YEARWEEK(date_format(submittime,"%Y-%m-%d")) = YEARWEEK(now());


查询上周的数据

SELECT name,submittime FROM enterprise WHERE

YEARWEEK(date_format(submittime,"%Y-%m-%d")) = YEARWEEK(now())-1;


查询当前月份的数据

select name,submittime from enterprise   where

date_format(submittime,"%Y-%m")=date_format(now(),"%Y-%m")


查询距离当前现在6个月的数据

select name,submittime from enterprise where submittime between date_sub(now(),interval 6 month) and now();




快来给我点个赞吧