表中距離這個時間2012-06-10 12:53:40最近的時間

原理:(比這個時間大的最小時間-此時間)的絕對值和(比這個時間小的最大時間-此時間)的絕對值 做比較,那個小,說明那個時間離此時間近。

sql代碼如下:

select 
     case when (SELECT (min(chk_time)-to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS'))
          FROM TM_TANK_CHK_T@smes30
         where node_id = 300407
           and chk_time > to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS') )
        >
        (SELECT (to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS')-max(chk_time))
          FROM TM_TANK_CHK_T@smes30
         where node_id = 300407
           and chk_time < to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS'))
     then
        (SELECT max(chk_time)
          FROM TM_TANK_CHK_T@smes30
         where node_id = 300407
           and chk_time < to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS'))
      else
               ( SELECT min(chk_time)
          FROM TM_TANK_CHK_T@smes30
         where node_id = 300407
           and chk_time > to_date('2012-06-10 12:53:40', 'YYYY-MM-DD HH24:MI:SS'))
       end a
 from dual



 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章