날마다 새롭게 또 날마다 새롭게

[Oracle] Decode와 Case 정리 본문

프로그래밍/DB

[Oracle] Decode와 Case 정리

아무유 2013. 7. 31. 16:24

Decode와 Case

SELECT 문의 컬럼의 내용에 따라 표시되는 값을 변경하는 함수

Decode

형식

DECODE(column_name, original_value, change_value, [original_value, change_value...])

예제

ex-1) SELECT DECODE(name, '김', 'kim', '이', 'lee') from table_name;

→ table의 name 컬럼에서 김은 kim으로 이는 lee로 바꿔서 보여준다.

CASE

형식

CASE

WHEN 조건1 THEN 결과1

WHEN 조건2 THEN 결과2

...

END

예제

ex-2) SELECT

CASE

WHEN name='김' THEN 'kim'

WHEN name="이' THEN 'lee'

ELSE '비어있음'

END

FROM table_name;

→ ex-1과 같은 결과를 얻는다 다른 점은 name 컬럼에 '김'과 '이' 외에 다른 값이 오면 '비어있음'으로 바꿔서 보여준다.


출처

[1] http://breadshuttle.tistory.com/entry/Oracle-SELECT%EB%AC%B8%EC%97%90%EC%84%9C-%EC%BB%AC%EB%9F%BC%EC%9D%98-%EB%82%B4%EC%9A%A9%EC%97%90-%EB%94%B0%EB%9D%BC-%EB%8B%A4%EB%A5%B8%EA%B0%92%EC%9C%BC%EB%A1%9C-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0

[2] http://mixiworld.tistory.com/179

[2] http://jungmina.com/490



Comments