我创建了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
答案 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格式返回当前时间。
确保将上述查询中的日期与今天的日期/所需日期进行比较,以将结果与特定日期绑定。