보통 코딩을 할 경우 조건문을 사용 해서 처리하는 부분들이 많이있다.

Oracle에서는 Case 구문을 사용하는데

Case when 조건 then 조건문에 맞을 경우 수행 when 조건 then 수행 else 아닐경우 end as 명칭

이렇게 사용한다.

예를 들면 다음과 같다.

SELECT CODE_TYPE, CODE, CODE_NAME, DESCRIPTION, CREATEDATE, MODIFYDATE,
CASE WHEN PARENT_SEQ = '142' AND SUBSTR(CODE,0,1) = 'F' THEN '1'
WHEN PARENT_SEQ = '142' AND SUBSTR(CODE,0,1) = 'H' THEN '2'
ELSE PARENT_SEQ
END AS PARENT_SEQ
, SEQ
FROM ORABPEL.CODE_T

위의 구문을 해석해보면 parent_seq 가 142이면서 code의 첫번째 값이 F 인경우 1을 출력,

parent_seq가 142이면서 code의 첫번째 값이 H인경우 2를 출력,

이도 저도 아닐경우 그대로 출력

출력한 값은 parent_seq라 명칭을 붙인다.

라고 해석 할 수 있다.

[출처] Oracle Sql Case 사용법|작성자 태무

'먹고살기 > Oracle' 카테고리의 다른 글

Oracle case문  (0) 2011.08.10
oracle case when ~ then~ else end  (0) 2011.08.10
[오라클] SQL - UNION에 관한 SQL 규칙  (0) 2011.07.19
ORACLE ROWNUM 활용  (0) 2011.07.08
EXP-00091  (0) 2011.07.08