我有以下代码根据最接近今天(包括今天)的日期对结果进行排序。我的问题是没有显示具有今天日期的事件。

所有其他日期按顺序显示

这是我的代码:

"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()似乎满足需要。

08-04 13:47