如何在mysql查询中比较月份与时间戳字段?

时间:2015-08-17 09:56:17

标签: php mysql sql database

我想获得一个月的记录,比如第8个月,即8月,那么如何将8与时间戳字段进行比较

SELECT * FROM `reserve_Product` WHERE MONTH(`date`) = 8

2 个答案:

答案 0 :(得分:0)

您必须使用DATE_FORMAT

SELECT * FROM reserve_Product WHERE DATE_FORMAT(`date`, '%m') = 8

试试这个小提琴:http://sqlfiddle.com/#!9/ef36c/3

答案 1 :(得分:0)

即使你的查询是正确的,但由于月份功能它不会使用索引,如果表格很笨,它会很慢...所以如果你想要性能而且只需要数据,那么你可以使用下面的查询 -

SELECT * FROM 
reserve_Product 
WHERE `date` >= '2015-08-01 00:00:00' and `date` <= '2015-08-31 23:59:59';

但如果您想要所有年份的八月数据,那么您必须使用日期函数。