我正在为我的消防部门建立一个社区网站,他们想要展示即将举办的活动,但我不想展示已经过去的活动,所以这里就是我所拥有的(我使用的是Dreamweaver btw)。
带表的数据库(table = events1532):
-id (int)
-event_start (datetime) YEAR-MO-DA HR:MI:SE
-event_end (datetime) YEAR-MO-DA HR:MI:SE
-event_location (text)
-event_desc (varchar)
我需要从最快的事件中获取事件开始日期,但事件尚未通过首页,但我需要格式为2013年3月3日上午12:00。
任何想法的人?
答案 0 :(得分:1)
您可以使用CONCAT和DATE_FORMAT函数来根据需要操作结果。
SELECT CONCAT(DATE_FORMAT(event_start, '%d/%m/%Y'), " at ", DATE_FORMAT(event_start, '%h:%m %p')), event_location, event_desc
FROM events1532
WHERE event_start > NOW()
ORDER BY event_start ASC
LIMIT 1;
NOW()函数返回当前时间的日期时间。您只需执行以下操作即可在MySQL查询中对此进行测试:
SELECT NOW();
其余的基本上按升序排序结果(意味着大于NOW()的最快日期将位于结果的顶部),并将结果限制为1.您当然可以将其限制为更多取决于您想要返回的数量。