CASE 문 질문있습니다...오늘 너무 많은 질문을 하네요;;; 0 6 2,038

by 하루살이 [2009.08.04 17:51:29]


강좌랑 다른    Q&A 검색하면서 해보앗는데요...

원하는데로 나오질 않아서;;

제가 해본 쿼리는 이건데요..

 

select case AA
when null then 1 
else 2 end
from BB
where CC= ’OK’;

 

BB 테이블에 있는 AA 필드에 널값 한 2개 정도 있습니다.

조건은 CC필드에 ’OK’ 라는 값에

AA필드 값 중에 null 인 거는 1을 뽑고 아닌거는 2를 뽑을려고 합니다.

근데 저 위에 쿼리 실행해보니..모두 2만 나와요..

분명 널값이 있는데 모두 2만 나옵니다..

뭐가 잘못되었는지.. 여기저기 찾아보며 하고 있는데 잘 안되네요~

모두 하루 마감 잘하시고요~수고요~

 

 

by 러드 [2009.08.04 18:03:38]
case when aa is null then 1 else 2 end

그런데 이거 그냥 테스트로 하는거죠?? ㅋㅋ

nvl, nvl2, coalesce 등등 함수가 있어서

by 하루살이 [2009.08.04 18:05:59]
네 ..
스터디 식으로 형이 해보라 하고
저는 푸는 식으로 ㅎㅎ;;

한번 해보고 답글 달께요

by 마농 [2009.08.04 18:15:55]
널은 비교연산이 안됩니다.
CASE WHEN aa IS NULL THEN 1 ELSE 2 END

by 하루살이 [2009.08.05 10:08:26]
select case AA
when is null then 1 else 2 end
from BB
where CC = 'OK';

이렇게 해보았는데도 에러가 뜹니다
ORA-00936:누락된 표현식

에 .. 어떻게 해야되는지;;

by 그냥 [2009.08.05 17:22:18]
AA is null 입니다..
AA when is null
이 아니구요

by 하루살이 [2009.08.05 17:39:34]
아 ~ 감사요~
제가 위치를 잘못 ?Z네요;;;
댓글 감사드립니다~
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입