sql 取一条离当前时间最近的记录

mySql写法

select * from om_meeting_schedule s where s.is_use=1 
ORDER BY ABS(NOW() - s.meeting_begin_date) ASC
limit 1

oracle写法

SELECT * FROM (
SELECT *, ABS(NOW() - startTime) AS diffTime
FROM om_meeting_schedule
ORDER BY diffTime ASC
) C WHERE rownum=1

解释

对于mysql来说ABS(NOW() - s.meeting_begin_date) ASC表示根据差值进行升序排序,然后取第一条。

猜你喜欢

转载自blog.csdn.net/youzi749/article/details/81161916