根据今天的日期选择行

时间:2012-06-21 00:51:10

标签: mysql

我正在尝试从数据库中选择与今天的日期匹配的记录。数据库中日期的格式为2012-06-20 9:30:00我使用的是SELECT id FROM新闻报道WHERE DATE(newsdate) = CURDATE()语句但它今天没有返回任何记录?

包含日期的列的屏幕截图

http://img135.imageshack.us/img135/8399/2347f03df0394cd898c7fc5.png

2 个答案:

答案 0 :(得分:1)

DATE_FORMAT(NOW(),'%Y-%m-%d') = FORMAT_DATE(NOW(newsdate), '%Y-%m-%d')

或更好:

DATE(newsdate) = DATE(NOW())

最好的方法是使用 2001-09-11 日期格式存储附加列并比较一下

Example,感谢@Conrad Frix

答案 1 :(得分:0)

看起来curdate函数会给你一些与数据库中的日期格式不同的东西。

看一下这里的文档

MySQL Date and Time Functions

它应该以这种格式返回日期:

2008-11-11

因此,您可以搜索curdate()和curdate()+ INTERVAL 1 DAY(未经测试)之间的日期范围,或者以curdate()格式存储日期。