lead() 和lag()函数select * from tablename a, (select * from (select t.*, lag (to_char(datetime),5) over (order by datetime) as time1 --取得上第五条datatime的值time1. lead(to_char(datetime),5) over (order by datetime) as time2 --取得下第五条datatime的值time2. from tablename t) t1 where datetime=2007-11-06 --只取datetime='2007-11-06' 的记录的time1,time2 )b where a.datetime>b.time1 and a.datetime<time2实现得不知对不对!!! 思路是先用lead() 和lag()解析函数求tablename中每个datetime的前,后第五个值(前,列名为time1,后,列名为time2) 然后取datetime='2007-11-06' 的那行记录中的time1,time2, 再以time1,time2 为条件查询表
(select * from
(select t.*,
lag (to_char(datetime),5) over (order by datetime) as time1 --取得上第五条datatime的值time1.
lead(to_char(datetime),5) over (order by datetime) as time2 --取得下第五条datatime的值time2.
from tablename t) t1 where datetime=2007-11-06 --只取datetime='2007-11-06' 的记录的time1,time2
)b
where a.datetime>b.time1 and a.datetime<time2实现得不知对不对!!!
思路是先用lead() 和lag()解析函数求tablename中每个datetime的前,后第五个值(前,列名为time1,后,列名为time2)
然后取datetime='2007-11-06' 的那行记录中的time1,time2,
再以time1,time2 为条件查询表