MYSQL从表中查找最近的时间
我有一张由以下时间组成的桌子 t时间MYSQL从表中查找最近的时间,mysql,Mysql,我有一张由以下时间组成的桌子 t时间 id | in_time ------------- 1 | 08:00 2 | 16:00 现在我有一个时间值08:45和16:10,我想从tblTime中获取与我的时间值最接近的ID,因此在这种情况下,08:45的结果将是1,而16:10的结果将是2 我尝试了ABS()函数,但它似乎根本不起作用 SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'08:45')) SE
id | in_time
-------------
1 | 08:00
2 | 16:00
现在我有一个时间值08:45
和16:10
,我想从tblTime中获取与我的时间值最接近的ID,因此在这种情况下,08:45
的结果将是1
,而16:10
的结果将是2
我尝试了ABS()函数,但它似乎根本不起作用
SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'08:45'))
SELECT * FROM tblTime ORDER BY ABS(TIMESTAMP(minute,in_time,'16:10'))
尝试使用以下功能:
注:
时间到秒
将时间转换为秒。定义最近的
。另外,再举几个预期的rowscare来举个例子?我的意思是,如果你能给出更多的样本数据和预期的输出。因为你说的最近的
,没有明确定义。
order by abs(time_to_sec(timediff(in_time, '08:45')))
limit 1 -- Of course, if you want nearest one, this line is necessary.