0
Oracle11g 사용 :null 값에서 산술 연산을 방지하는 방법은 무엇입니까?
열이 null 인 경우 열에 대한 산술을 제외하고 싶습니다. 이 경우
, 어떻게 lag_diff SEQNO에 대한 = 1가 널로받을 수 있나요?with detail_records as (
select 1 seqno, 10 set_a from dual union all
select 2 seqno, 10 set_a from dual union all
select 3 seqno, 20 set_a from dual union all
select 4 seqno, 30 set_a from dual)
select seqno,
set_a,
lag_val,
case (lag_val - set_a)
when 0 then 'AAA'
else 'BBB'
end as lag_diff
from (select seqno,
set_a,
lag(set_a,1) over (order by seqno) as lag_val
from detail_records)
order by seqno
원하는 결과
SEQNO SET_A LAG_VAL LAG_DIFF
----------------------------
1 10 <NULL> <null>
2 10 10 AAA
3 20 10 BBB
4 30 20 BBB