我想找到当前和即将到来的节目记录

时间:2016-07-19 12:45:23

标签: mysql

我创建了schedule表。其中有列sc_show_time。 我已插入show_time,如 - 15:00:00,17:00:00,21:00:00。 现在假设当前时间是18:00:00。 现在我希望得到17:00:00,21:00这两条记录。

Thanx In Advance

3 个答案:

答案 0 :(得分:0)

尝试此查询 目前的节目:

SELECT * FROM shedule WHERE sc_show_date = CURDATE() AND sc_show_time < CURTIME() ORDER BY sc_show_time DESC LIMIT 1

接下来显示:

SELECT * FROM shedule WHERE sc_show_date = CURDATE() AND sc_show_time > CURTIME() ORDER BY sc_show_time ASC

答案 1 :(得分:0)

PHP和Mysql

$result = mysqli_query($conn,"SELECT (SELECT sc_show_time FROM shedule WHERE sc_show_time < CURTIME() ORDER BY sc_show_time DESC LIMIT 1) AS previous, (SELECT sc_show_time FROM shedule WHERE sc_show_time > CURTIME() ORDER BY sc_show_time ASC LIMIT 1) AS next");
$row = mysqli_fetch_assoc($result);
$previous_show = $row['previos'];
$next_show = $row['next'];

答案 2 :(得分:0)

您可以使用CURTIME() mysql函数将时间与当前时间进行比较。

所以你的SQL查询看起来像这样,

SELECT * FROM shedule WHERE sc_show_time >= CURTIME() ORDER BY sc_show_time

以上查询将返回当前时间之后的所有节目。

  

CURTIME()以“HH:MM:SS”或HHMMSS格式返回当前时间。

  确保将上述查询中的日期与今天的日期/所需日期进行比较,以将结果与特定日期绑定。