【发布时间】:2013-09-28 20:07:48
【问题描述】:
我的mysql数据库表消息是这样的
id message start_date end_date
1 message1 2013-09-29 2013-11-30
2 message2 2013-08-20 2013-09-30
3 message3 2013-06-20 2014-01-01
4 message4 2013-06-06 2013-09-20
5 message5 2013-10-25 2014-03-05
我想在start_date is equal to today and today is greater than start_date 时显示消息,并且以同样的方式显示消息 ``before end_date.一旦 end_date 已被越过,那么它不应该显示消息。为此,我已经这样做了
SELECT * FROM messages WHERE start_date >= CURDATE( ) and end_date >= CURDATE( );
但是这个显示所有开始日期还没有到来的消息。喜欢行5th(5 message5 2013-10-25 2014-03-05)。所以我只想要今天 start_date 和 start_date 之间的消息,它会显示到 end_date。那么有人可以告诉我该怎么做吗?任何帮助和建议都将非常可观。谢谢
【问题讨论】:
-
给定您的示例数据,您是否只希望返回一行 (id=1)?
-
不,我想要在该日期范围内多于一行..
-
然后给出您示例中的数据,请显示您想要返回的行。您的评论说您想要
start_date is equal to today但您的代码显示“大于或等于今天”的行。换句话说,不清楚你想要什么。