SQL> select rowid rid, dt from tmp;
RID DT
------------------ -----------
AAAIVGAABAAAM/CAA5 2008-1-1
AAAIVGAABAAAM/CAA6 2008-1-4
AAAIVGAABAAAM/CAA7 2008-1-6
AAAIVGAABAAAM/CAA8 2008-1-8
AAAIVGAABAAAM/CAA9 2008-1-10
AAAIVGAABAAAM/CAA+ 2008-1-11
6 rows selected
SQL>
SQL> select min(rowid) keep(dense_rank first order by abs(dt - to_date('20080105', 'YYYYMMDD')), dt) rid,
2 min(dt) keep(dense_rank first order by abs(dt - to_date('20080105', 'YYYYMMDD')), dt) dt
3 from tmp;
RID DT
------------------ -----------
AAAIVGAABAAAM/CAA6 2008-1-4
SQL>
返回与20080105最接近的第一个数。
select max(dt) keep ( dense_rank last order by dt) dt from tmp
返回dt列中对大的数值
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/640706/viewspace-1024987/ ,如需转载,请注明出处,否则将追究法律责任。