0

我正在寻找一种方法来按日期显示我即将发生的事件,而不显示任何过去的事件。

MySQL 表:

ID   |   Title   |   Date   |   Time
1        title1    2013-10-5    12:00
2        title2   2013-10-10    12:00
3        title3   2013-10-25    01:00
4        title4   2013-10-31    11:30

我希望它像这样显示:

title2 2013-10-10
title3 2013-10-24
title4 2013-10-31

没有它显示任何已经过去的事件。

任何帮助将不胜感激!谢谢你。

4

2 回答 2

2

在不改变当前结构的情况下,您可以使用CURDATE()CURTIME()

SELECT
  id, title, date, time
FROM
  titles
WHERE
  date >= CURDATE() AND time >= CURTIME() 

阅读 MySQL 日期和时间函数

于 2013-10-07T00:10:39.267 回答
0

首先,我建议您将日期和时间一起存储在一个DATETIME字段中。然后你可以使用:

SELECT title, DATE(`datetime`) AS `date`
FROM table
WHERE `datetime` >= NOW()

(参见DATE 和 TIME 函数

于 2013-10-07T00:10:19.467 回答