本文主要是介绍LEAD分析函数用法小例子,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
--可以用ORACLE数据库提供的LEAD函数构造连续区间
--原值
SQL> select * from test1;
ACCTNO CURRENT_BAL DXN_DT
---------- ----------- --------
201 800 20120101
201 520 20120809
202 100 20120106
202 200 20120808
--处理后结果
--方法一
SQL> select t.acctno,
2 t.dxn_dt,
3 lead(t.dxn_dt,1,to_date('30001231', 'yyyymmdd')) over(partition by t.acctno order by t.dxn_dt),
4 t.current_bal
5 from test1 t;
ACCTNO DXN_DT LEAD(T.D CURRENT_BAL
---------- -------- -------- -----------
201 20120101 20120809 800
201 20120809 30001231 520
202 20120106 20120808 100
202 20120808 30001231 200
--方法二
select t.acctno,
t.dxn_dt,
nvl(lead(t.dxn_dt) over(partition by t.acctno order by t.dxn_dt),to_date('30001231', 'yyyymmdd')),
t.current_bal
from test1 t;
这篇关于LEAD分析函数用法小例子的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!