0

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

我的查询有问题吗?

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
4

2 回答 2

0

月份不应该有前导0。所以尝试8代替08. 您还可以发布一行返回的内容,以便我们查看 UNIX_date 的样子。

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

于 2012-09-11T09:01:43.620 回答
0

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

于 2012-09-11T09:02:28.203 回答