只有当它们与今天的日期匹配时,我才尝试从数据库中选择记录。数据库中日期的格式是2012-06-20 9:30:00
我正在使用语句SELECT id FROM
newsreportsWHERE DATE(newsdate) = CURDATE()
但它没有返回今天的任何记录?
带有日期的列的屏幕截图
http://img135.imageshack.us/img135/8399/2347f03df0394cd898c7fc5.png
只有当它们与今天的日期匹配时,我才尝试从数据库中选择记录。数据库中日期的格式是2012-06-20 9:30:00
我正在使用语句SELECT id FROM
newsreportsWHERE DATE(newsdate) = CURDATE()
但它没有返回今天的任何记录?
带有日期的列的屏幕截图
http://img135.imageshack.us/img135/8399/2347f03df0394cd898c7fc5.png
DATE_FORMAT(NOW(),'%Y-%m-%d') = FORMAT_DATE(NOW(newsdate), '%Y-%m-%d')
或更好:
DATE(newsdate) = DATE(NOW())
最好的方法是使用2001-09-11日期格式存储附加列并比较这个
示例,感谢@Conrad Frix
看起来 curdate 函数将为您提供与您在数据库中获得的日期格式不同的东西。
看看这里的文档
它应该以这种格式返回日期:
2008-11-11
因此,您可以搜索 curdate() 和 curdate() + INTERVAL 1 DAY(未经测试)之间的日期范围,或者以 curdate() 格式存储日期。