본문 바로가기

DB관련/oracle

CASE WHEN 문

table 에서 idx, CASE에 해당하는 값 alias , name 을 선택

CASE 기본

CASE 조건 WHEN 결과1 THEN 출력1

               WHEN 결과 THEN 출력2

               ELSE 출력3

        END 칼럼명

 

1.

SELECT idx, 

CASE 

      WHEN 조건문 THEN 반환값

      WHEN 조건문 THEN 반환값

      ELSE 반환값

      END AS alias

,name

FROM table;

 

예시) SELECT idx, 

                 (CASE

                        WHEN name =1 THEN '첫번째 값'

                        WHEN name =2 THEN '두번째 값'

                        ELSE '쓰레기 값'

                        END )AS '값'

                  ,condition

       FROM table

 

2.

혹은 케이스 문에서

CASE 조건칼럼

      WHEN 조건값 THEN 반환값

      WHEN 조건값 THEN 반환값

      ELSE 반환값

      END AS alias

 

(alias를 위한 AS 는 생략해도 된다.)

 

예시)SELECT idx, 

                 (CASE name

                        WHEN 1 THEN '첫번째 값'

                        WHEN 2 THEN '두번째 값'

                        ELSE '쓰레기 값'

                        END ) AS '값'

                  ,condition

       FROM table

 

3.

케이스 문은 WHERE 절의 조건문으로도 가능하다

예시)SELECT idx, 

                 (CASE

                        WHEN name =1 THEN '첫번째 값'

                        WHEN name =2 THEN '두번째 값'

                        ELSE '쓰레기 값'

                        END )AS '값'

                  ,condition

       FROM table WHERE idx = 1

       AND CASE

                        WHEN name =1 THEN '첫번째 값'

                        WHEN name =2 THEN '두번째 값'

                        ELSE '쓰레기 값'

                        END ) ='첫번째 값'

 

4.case 안에 case 문 삽입 가능

'DB관련 > oracle' 카테고리의 다른 글

일반 함수(nvl, nvl2, decode)  (0) 2021.01.15
형과 형 변환 함수  (0) 2021.01.15
숫자 함수, 날짜 함수  (0) 2021.01.15
문자와 관련된 함수  (0) 2021.01.14
오라클 기본  (0) 2021.01.14