按日期选择条目 - > = NOW(),MySQL

Nig*_*ICU 28 mysql sql date

我有一个事件日历表,我想选择日期等于或大于今天的事件.当我使用以下SELECT语句时,它只检索将来的事件(> NOW()):

<?php    
$db->query("SELECT * FROM events WHERE event_date >= NOW()");
?>
Run Code Online (Sandbox Code Playgroud)

我如何选择今天或将来的所有活动?

谢谢

Sar*_*raz 43

您正在寻找CURDATE():

$db->query("SELECT * FROM events WHERE event_date >= CURDATE()");
Run Code Online (Sandbox Code Playgroud)

要么:

$db->query("SELECT * FROM events WHERE event_date >= CURRENT_DATE()");
Run Code Online (Sandbox Code Playgroud)


OMG*_*ies 16

这个查询的原因是:

SELECT * FROM events WHERE event_date >= NOW()
Run Code Online (Sandbox Code Playgroud)

...从未来返回记录,是因为NOW()包括时间和日期.该时间部分表示[function或triggering]语句开始执行的时间.这意味着DATETIME数据类型中的一天开始如下所示:2010-06-24 00:00:00(YYYY-MM-DD HH:MM:SS,精确到微秒),NOW()会显示类似2010-06-24 14:24:31......

以下是您的选择:

SELECT * FROM events WHERE event_date >= DATE(NOW())
SELECT * FROM events WHERE event_date >= DATE(CURRENT_TIMESTAMP)
SELECT * FROM events WHERE event_date >= CURRENT_DATE()
SELECT * FROM events WHERE event_date >= CURRDATE()
Run Code Online (Sandbox Code Playgroud)