반응형
프로그래밍언어에서도 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 |
댓글