[ORACLE] 오라클 CASE WHEN THEN 조건문 사용법
- 데이터베이스/Oracle
- 2020. 5. 28.
오라클 case문 사용법
오라클 case when 조건문에 대해서 알아볼게요.
oracle case when 조건문은 우리가 많이 사용하는 if문과 같은 기능입니다.
case when은 두가지 방법으로 사용됩니다.
마지막은 꼭 END를 넣어주셔야 합니다. 종종 실수하는 경우가 많습니다.
1. CASE 문 사용하기
WITH TEMP_TB AS (
select '사과' as product , '5' as qty from dual
union all
select '청소기' as product , '10' as qty from dual
union all
select '연필' as product , '15' as qty from dual
)
select
product
, qty
, CASE WHEN qty < 10 then '적음'
WHEN qty > 10 then '많음'
ELSE '보통'
END as 재고
FROM TEMP_TB;
qty 값이 10보다 작으면 재고의 값은 적음
qty 값이 10보다 크면 재고의 값은 많음
qty 값이 그외의 값이면 보통입니다.
아래의 방법은 쿼리를 좀더 간소화 하여 만들어 볼게요.
2. 하나의 대상(컬럼)으로 CASE 문 사용
CASE 대상(컬럼) WHEN [조건1] THEN [조건1 결과]
WHEN [조건2] THEN [조건2 결과]
ELSE 그외 결과
END
WITH TEMP_TB AS (
select '사과' as product , '5' as qty from dual
union all
select '청소기' as product , '10' as qty from dual
union all
select '연필' as product , '15' as qty from dual
)
select
product
, qty
, CASE product WHEN '사과' then '과일'
WHEN '청소기' then '전자제품'
ELSE '학용품'
END as 분류
FROM TEMP_TB;
WHEN 앞에 컬럼명을 입력하여 WHEN 에 컬럼명을 따로 기입하지 않아도 됩니다.
쿼리가 좀더 깔끔하게 보입니다.
아래 예제로 비교해보시죠.
CASE product WHEN '사과' then '과일'
WHEN '청소기' then '전자제품'
ELSE '학용품'
CASE WHEN product = '사과' then '과일'
WHEN product = '청소기' then '전자제품'
ELSE '학용품'
같은결과가 나옵니다.
'데이터베이스 > Oracle' 카테고리의 다른 글
[Oracle] 오라클 버전 확인 방법 (0) | 2020.06.05 |
---|---|
[ORACLE] 오라클 INSTR 문자 위치 찾기 및 예제 (0) | 2020.06.03 |
[ORACLE] 오라클 LENGTH, LENGTHB 차이점 한글 (0) | 2020.05.27 |
[ORACLE] 오라클 SYSDATE 사용법(어제날짜,한달전,1년전) (0) | 2020.05.26 |
[ORACLE] 오라클 SUBSTR 문자열 자르기 사용법 (0) | 2020.05.21 |