我有以下代码根据最接近今天(包括今天)的日期对结果进行排序。我的问题是没有显示具有今天日期的事件。
所有其他日期按顺序显示
这是我的代码:
"SELECT * FROM event WHERE `status` = 'open' AND event_date >= NOW() ORDER BY event_date"
非常感谢
最佳答案
所以答案是...
SELECT *
FROM event
WHERE `status` = 'open'
AND event_date >= curdate()
ORDER BY event_date
正如Marc B和xQbert所述:
Now()包含时间。要获取今天的所有记录,您必须使用
curdate()
以午夜作为起始值的内容。或者,您可以将now()转换为没有时间的值,但这会产生开销。 curdate()
似乎满足需要。