오라클에서 IF 같은걸 쓰고싶어요 0 1 472

by 꿈꾸라 [2018.05.31 09:10:18]


공부중에 CASE 랑 DECODE 발견했는데

음... 

번호 ABC
1 A
2 B

이런 테이블이 있으면 제가바라는건

ABC가 A일때는 번호에 -1 을 곱하고 B일떄는 그대로 출력하고싶어요

SELECT 번호 . ABC , CASE WHEN ABC="A" THEN 번호=번호*-1 END

FROM TABLE

이런식으로요

어떻게짜면될까요/

by 마농 [2018.05.31 09:47:16]
WITH t AS
(
SELECT 1 no, 'A' abc FROM dual
UNION ALL SELECT 2, 'B' FROM dual
)
SELECT no
     , abc
     , CASE WHEN abc = 'A' THEN no * -1 ELSE no END no_1
     , CASE abc WHEN 'A' THEN -no ELSE no END no_2
     , DECODE(abc, 'A', -no, no) no_3
  FROM t
;

 

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