2012-03-19 119 views
1

使用PHP特定的时间,我有一个SQL查询,工作正常,dateentry只有作为2012-03-20SQL比较日期和

"SELECT dateentry FROM mytable WHERE dateentry >= DATE(CURDATE()) ORDER BY navDisplayNum ASC;" enter code here 

日期等,但我希望时间添加到我的查询,以便分贝进入+ 8点是相对于当前日期+时间
任何人都可以伸出援助之手如何妥善处理这一问题,请

"SELECT dateentry FROM mytable WHERE dateentry"." 8:00:00"." >= DATE(NOW()) ORDER BY navDisplayNum ASC;" 

这种企图将产生错误
“你有一个错误你的SQL语法;检查与您的MySQL服务器版本相对应的手册,以在'8:00:00> = DATE(NOW())ORDER BY navDisplayNum ASC'附近使用正确的语法。“

+0

是什么类型'dateentry' – zerkms 2012-03-19 03:11:42

+1

'日期(CURDATE())'是完全多余的。curdate已经返回一个日期值。 – 2012-03-19 03:13:12

+0

@zerkms dateentry is DATE – 2012-03-19 03:14:07

回答

3

为了给现有日期,使用DATE_ADD功能只是把时间旁边的一个现有的日期将无法正常工作

看看:?

SELECT dateentry FROM mytable WHERE DATE_ADD(dateentry, INTERVAL 8 hour) >= NOW(); 
+0

是否可以将DAY_ADD与INTERVAL 1DAY和8 HOUR结合使用? – 2012-03-19 03:41:16

+0

@tq:看看手册,它包含了这个问题的答案。 – 2012-03-19 03:48:24