假设我在MySQL表中有记录,其中包含unix时间戳。如何在MySQL查询中搜索当前月份发布的查询?
这是我到目前为止所拥有的:
$sql = "SELECT * FROM `postings` WHERE `date_posted` = '".date("m-Y")."'";
显然 - 不对。帮助
答案 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())";
我没试过。 而且您用来保存日期的格式也很重要。