WHEN CASE, DECODE 관련 질문드립니다 0 3 1,302

by 김귀염 [2014.07.23 16:34:15]


SELECT
    DECODE(D.DNAME, NULL, '미배정', D.DNAME)
  ,SUM(E.SAL)
  ,COUNT(E.EMPNO)
FROM
    EMP E, DEPT D
WHERE 1=1
  AND E.DEPTNO = D.DEPTNO(+)
  GROUP BY D.DNAME
  ;

 

위에 DECODE문을 WHEN CASE로 바꾸려하고 하는데 에러가 나네요

 

WHEN CASE D.DNAME IS NULL THEN '미배정'

ELSE D.DNAME

END

 

제 생각엔 이렇게 바꾸면 되는거 같은데 이문장에 어떤 문제가 있는건가요?

by DarkBee [2014.07.23 17:13:20]

case when


by 마농 [2014.07.23 17:22:17]

Case 를 쓰셔도 되긴 하지만...

Decode 나 Case 를 쓸 복잡한 상황이 아닌듯 하네요.

NVL 을 사용하세요.

NVL(d.dname, '미배정')


by 손님 [2014.07.24 01:17:36]
Case when 이 바뀌었네요
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입