-
[Oracle] CASE WHEN 표현식데이터베이스/oracle 2020. 11. 18. 12:09728x90반응형
CASE문 사용법
CASE문은 다른 프로그래밍 언어들에서 사용하는 그 CASE와 비슷하다
CASE문에는 사용법은 같지만 조건이 다른 2가지 방식이 존재하며, 값에 따라 결과값을 RETURN하는 방식과 조건에 따라 결과값을 RETURN하는 방식이 있다.
값의 따라 결과값을 RETURN하는 방식
CASE 대상값 WHEN 값1 THEN 결과1 WHEN 값2 THEN 결과2 . . . WHEN 값n TEHN 결과m END;
예제 1
위와같은 게시판 글들이 모여있을때 BBS_ID에 마지막 숫자를 통해 게시판에 성격과 글제목을 알고싶다면.
SELECT NTT_SJ,CASE SUBSTR(bbs_id,20,1) WHEN '1' THEN '자유게시판' WHEN '2' THEN '고객게시판' WHEN '3' THEN '질문게시판' END AS BOARD FROM comtnbbs;
BBS_ID의 20번째자리가 1,2,3이면 각각 자유게시판,고객게시판,질문게시판으로 설정하여 데이터를 출력하였다.
조건문의 따라 결과값을 RETURN하는 방식
생성 날짜가 한달전이면 삭제할려고할때 그 한달전 게시판을 구하는 쿼리는 아래와 같다
SELECT NTT_SJ,CASE WHEN FRST_REGIST_PNTTM <= DATE('2020-10-18') THEN '삭제요망' END AS del FROM comtnbbs;
728x90반응형