假如有表demo,表内有字段:id,name,created_date. created_date字段记录了每条记录插入的时间戳。
假如要查询表中6月份的记录
那么比较简单的方法是:
SELECT * FROM demo WHERE DATE_FORMAT(FROM_UNIXTIME(demo.`created_date`),'%Y%m')=201806;
这里是使用了DATE_FORMAT将时间戳变为“%Y%m”也就是类似“201806”的格式,只取年和月。
当然也可以使用自己喜欢的格式。
附
mysql获取当月第一天和下个月第一天零点:
SELECT UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL -DAY(CURDATE())+1 DAY));
SELECT UNIX_TIMESTAMP(DATE_ADD(CURDATE(),INTERVAL 1 MONTH));