我有一个数据库,其中存储了火车时刻表的时间值。这是我的表格:
CREATE TABLE IF NOT EXISTS `bahn_hausen` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`time` time NOT NULL,
`day` varchar(12) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=132 ;
现在我想选择Now()之后的下两行:
SELECT time FROM bahn_hausen WHERE time > now() LIMIT 2
问题是,当现在>大于今天最后一次时间(23:45:00)时,没有选择行。但是,我当然想选择接下来的2个值(00:15:00和00:45:00)。这只适用于now()>= 0:00:00
*[edit]*澄清一下:我遇到的问题是SQL不识别00:15大于23:45。
我该怎么做?谢谢你的帮助。
您的查询就快完成了。你只需要一个order by
:
SELECT time
FROM bahn_hausen
ORDER BY time > now() desc, time
LIMIT 2;
您是否尝试使用CURTIME()或DATEDIFF(…)> 0方法
https://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html function_current-time