본문 바로가기
IT/Database

[Oracle] case 문

by 성준하이 2023. 1. 12.
반응형

프로그래밍언어에서도 switch case문이 있듯이. 

oracle 쿼리 내에서도 case 문을 지정할수 있다.

 

기본 문법은 다음과 같다.

 

case when '조건1' then '결과1'
 when ' 조건2' then '결과2'

...

else '나머지'

end

 

이렇게 사용을 한다.

 

일단 select 문에도 지정을 할수가 있고, where 이하절에도 사용이 가능하다.

예제는 다음과 같다.

where 절
-- *** 사용법 1 *** --
--  CASE 비교대상(값)   
--      WHEN 비교값1 THEN 처리1
--      WHEN 비교값2 THEN 처리2
--      ...
--      ELSE 디폴트 처리
--  END


SELECT 
    * 
FROM 
    tTblName
WHERE
    YYMM =                                  -- 검색할 컬럼명
    CASE
        when '1' = '1' then '202301'      -- 조건
        else '202201'                       -- default 조건
    END
;




-- *** 사용법 2 *** --
--  CASE
--      WHEN 비교조건1 THEN 처리1
--      WHEN 비교조건2 THEN 처리2
--      ...
--      ELSE 디폴트 처리
--  END


SELECT 
    * 
FROM 
    tTblName
WHERE
    YYMM =                                  -- 검색할 컬럼명
    CASE
        when YYMM = '1' then '202301'      -- 조건
        else '202201'                       -- default 조건
    END
;

 

select 절에도 마찬가지로 사용하게 되면 then 이하의 글이 나온다.

select case when gender='M' then '남자'
when gender='W' then '여자'
else '기타' end

 

이렇게 사용 가능하다.

반응형

'IT > Database' 카테고리의 다른 글

[Oracle] EXISTS, NOT EXISTS  (8) 2023.02.08
NVL함수  (9) 2023.01.15
프로시져와 함수의 차이  (13) 2023.01.06
트랜잭션 격리 수준(isolation level)  (15) 2022.12.31
[Oracle] Decode 함수  (42) 2022.11.18

댓글