MySql查询以显示时间条件的记录
问题描述:
例如,我通过管理员发布新闻,并提及开始日期为25-02-2011,结束日期为28-02-2011。它将在2011年2月25日在用户端显示。MySql查询以显示时间条件的记录
如果我通过管理员在开始日期发布新闻作为26-02-2011和结束日期为28-02-2011,那么它将显示26- 02-2011。
如果我没有在27-02-2011和28-02-2011上发布任何内容,它应该显示上次发布的新闻。 就是在这种情况下,它应该显示27-02-2011和28-02-2011在26-02-2011发布的新闻。
编辑: “SELECT ID,标题从新闻WHERE的startDate> = CURDATE()和
expiryDate < = CURDATE()和状态= '主动' ORDER BY ID DESC”。当前有一条消息。它甚至不提取该记录。要做什么改变。
这怎么可以用mysql来完成。
在此先感谢...
答
如果这是你所谈论的一个网站,请注明您所使用的服务器端技术。例如,它使用PHP? 因为你所要求的,不能仅仅通过使用mysql来完成。
答
看起来你刚刚混淆了操作符。 Today
应该在startdate
之后,不是吗?
SELECT id, title FROM news WHERE startDate <= CURDATE() AND
expiryDate >= CURDATE() AND status='Active' ORDER BY id DESC
答
试试这个代码:
SELECT id, title FROM news WHERE now() between startDate AND expiryDate AND status='Active' ORDER BY id DESC
MySQL有很多日期函数可以返回当前日期为例,它是很容易写一个日期过滤消息的查询。 – krtek 2011-02-25 10:11:44
问题是关于检索和显示新闻,这就是为什么我要求的语言。 – vimukthi 2011-02-25 10:19:18
对于我刚才检索的案例来说已经足够了...... – Fero 2011-03-09 11:22:11