연이율에 따른 일복리 계산 1 0 5,458

by 손님 복리이율 [2010.02.26 12:43:02]



with t as
(
select to_date('20100101','yyyymmdd') dt, 3.5 yrt from dual union all
select to_date('20100401','yyyymmdd') dt, 4 yrt from dual union all
select to_date('20100701','yyyymmdd') dt, 4.4 yrt from dual union all
select to_date('20101001','yyyymmdd') dt, 4.5 yrt from dual
)
select
    a.ymd,
    b.yrt "연이율(%)",
    mod(b.drt,1) * 100 "일복리(%)",
    exp(sum(ln(b.drt)) over (order by a.ymd)) * 500 "원리금"
from (
    select
    to_date('20100101','yyyymmdd') + level - 1 ymd
    from dual
    connect by level <= 365
) a,
(
    select
    dt sdt,
    lead(dt,1,add_months(to_date('20100101','yyyymmdd'),12)) over (order by dt) - 1 edt,
    yrt,
    exp(ln(1+(yrt/100))/365) drt
    from t 
    ) b
where a.ymd >= b.sdt and a.ymd <= b.edt

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입