我有一个事件日历表,我想选择日期等于或大于今天的事件.当我使用以下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)