日期:2014-05-17  浏览次数:21141 次

oracle查询与某时间点最近的数据
例如查询:2012-01-10 12:53:40 相近时间点有数据的信息

------解决方案--------------------
以这个时间对焦点 分别取小于这时间的最大值和大于这时间的最小值 然后与这个时间比较得出的时间差的数据就是了.
------解决方案--------------------
SQL code

SELECT MIN(CASE WHEN to_char(t_time,'YYYY-MM-DD HH24:MI:SS')>'2012-01-10 12:53:40' THEN UPDATE_TIME ELSE NULL END) "MIN_TIME",
       MAX(CASE WHEN to_char(t_time,'YYYY-MM-DD HH24:MI:SS')<'2012-01-10 12:53:40' THEN UPDATE_TIME ELSE NULL END) "MAX_TIME" 
FROM table_name