MySQL和date()查询

时间:2012-01-16 00:44:31

标签: php mysql

假设我在MySQL表中有记录,其中包含unix时间戳。如何在MySQL查询中搜索当前月份发布的查询?

这是我到目前为止所拥有的:

$sql = "SELECT * FROM `postings` WHERE `date_posted` = '".date("m-Y")."'";

显然 - 不对。帮助

3 个答案:

答案 0 :(得分:1)

由于您的列包含time()字段,因此您需要包含时间值的值才能进行比较。通过使用函数strtotime,您将实现您想要的目标。

$query = "SELECT * FROM `postings` 
          WHERE `date_posted` >= ". strtotime("This month") ." 
          AND `date_posted` < ". strtotime("+1 month");

答案 1 :(得分:0)

SELECT * FROM postings WHERE date_posted BETWEEN '2011-12-01 00:00:00' AND '2011-12-31 23:59:59'

希望有所帮助。

答案 2 :(得分:0)

试试这个

$sql = "SELECT * FROM postings WHERE MONTH(date_posted) = '".date("m")."'";

 $sql = "SELECT * FROM postings WHERE MONTH(date_posted) = MONTH(NOW())";    

我没试过。 而且您用来保存日期的格式也很重要。