반응형
쿼리를 짜다보면 조건문을 사용해야할 때가 있습니다.
Oracle에서는 DECODE와 CASE문이 있습니다.
DECODE
- 간단하게 TRUE / FALSE 값으로 구분 할 수 있는 조건문일 경우
- SQL문으로만 사용 가능
- 함수
1. 사용법
DECODE(컬럼, 조건, TRUE, FALSE);
2. 예제
-- USER_NAME이 홍길동이면 Y, 아니면 N
SELECT DECODE(USER_NAME, '홍길동', 'Y', 'N' )
FROM DUAL;
CASE
- 조건에 따라 결과값 출력
- SQL과 PL/SQL 사용 가능
- Statement
1. 사용법
CASE WHEN 조건 THEN 조건에 해당할 경우의 값
ELSE 조건에 해당하지 않을 경우의 값
END
2. 예제
-- NAME이 고길동이면 '길동' / 둘리이면 '둘리' 둘 다 아니라면 '희동이' => 컬럼명은 NM
CASE
WHEN NAME == '고길동' THEN '길동'
WHEN NAME == '둘리' THEN '둘리'
ELSE '희동이'
END AS NM
반응형
'Oracle' 카테고리의 다른 글
[Oracle] 원하는 만큼 글자 혹은 숫자로 채우기 (0) | 2021.04.07 |
---|