DECODE 사용시 주의사항

 

*ELSE 없는 IF를 사용하라.

     select sum(decode(col1, 1, qty, 0)),...

  →select sum(decode(col1, 1, qty)),...

 

*가능한 그룹함수내에서 nvl을 사용하지 마라

     select sum(decode(col1, 1, nvl(qty,0))),...

  →select nvl(sum(decode(col1, 1, qty)),0),...

 

*가능한 반복해서 DECODE를 사용하지 마라

 

。컬럼결합법

     select sum(decode(market, 'D',

                              decode(type, '1',

                                       decode(unit, 'A',0.2 * col,

                                                          'B',0.5 * col,...

   →select sum(decode(market || type || unit, 'D1A', 0.2,

                                                                  'D1B' 0.5,...)) * col

 

case문으로 대체 1

 

+ Recent posts