一些變量說明: add_time爲插入的時間 to_days是sql函數,返回的是個天數 data_sub(date,INTERVAL expr type)給指定的日期減去多少天 data()函數返回日期或日期/時間表達式的日期部分。 curdate()函數返回當前的日期 y-m-d data_format 用於以不一樣的格式顯示日期/時間數據 period_diff(p1,p2)返回週期P1和P2之間的月數。 P1和P2格式爲YYMM或YYYYMM。注意週期參數 P1 和 P2 都不是日期值 一、查詢今天的全部記錄: (1)add_time字段,該字段爲int(5)類型的 select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now()); (2)add_time字段是DATETIME類型或者TIMESTAMP類型的 select * from `article` where to_days(`add_time`) = to_days(now()); 二、查詢昨天的全部記錄 select * from `article` where to_days(now()) <= 1 + to_days(`add_time`); 三、近7天的信息記錄: select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`); 四、近30天的信息記錄: select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`); 五、查詢本月的記錄 select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m'); 六、上一個月的記錄 select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;