我有一个数据库,用DATETIME格式存储每个条目的日期。我只需要检索比昨天更大的结果。我昨天说,因为我需要今天和前方的结果。
目前我有以下内容。
$yest = mktime(0, 0, 0, date("m"), date("d")-1, date("Y"));
$yest_date = date('n-j-o', $yest);
SELECT * FROM TBL_NAME WHERE DATE_FORMAT(event_date, \"%c-%d-%Y\") > '".$yest_date."'
即使我知道有事件,也不会给出任何结果。任何帮助将不胜感激。
答案 0 :(得分:13)
SELECT * FROM tbl_name WHERE event_date > DATE_SUB(NOW(), INTERVAL 1 DAY)
答案 1 :(得分:4)
SELECT * FROM TBL_NAME WHERE event_date >= CURDATE()
答案 2 :(得分:4)
WHERE event_date > date(now()) - 1
答案 3 :(得分:4)
Select * from tbl_name WHERE event_date > DATE_SUB(curdate(), INTERVAL 1 DAY)
这应该从昨天开始,而不是从查询运行的24小时开始。
如果您在cron中运行此操作,则应该验证数据库与服务器的时区,以便您在两天内不运行它,打算在12:01运行但实际运行在11: 01由于方差。
答案 4 :(得分:2)
SELECT * FROM tbl_name WHERE field_date > now()- interval 1 day;
答案 5 :(得分:0)
这样做的目的是从今天的第一分钟到今天的最后一分钟选择值。
WHERE scheduled_start_timestamp >= date() AND scheduled_start_timestamp <= date() + 1