MySQL MONTH返回错误的结果

时间:2012-09-11 08:52:51

标签: mysql

以下查询未返回正确的结果,因为它返回“九月”月的结果,但我需要从给定月份“八月”获得结果。

我的查询中有什么问题吗?

SELECT * 
FROM table 
WHERE  YEAR(FROM_UNIXTIME(UNIX_date)) = '2012'  AND 
       MONTH(FROM_UNIXTIME(UNIX_date)) = '08' 
order by UNIX_date DESC 

编辑:

返回的结果是这样的:

 post_id    user_id     UNIX_date
 95319       12         1346475459
 97370        5         1346474849
 83527       25         1346474631
 83526       51         1346473357
 85929       12         1346471009
 26677       29         1346462100
 26839       12         1346432911
 85927       12         1346411636

2 个答案:

答案 0 :(得分:0)

月份不应该有前导0。因此,请尝试8而不是08。 您还可以发布一行返回的内容,以便我们了解UNIX_date的外观。

参考:http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_month

答案 1 :(得分:0)

正如文档http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_month中所述,DAYMONTHYEAR函数返回整数,因此{{1}的值为1-12(或零) }}