• 분류 전체보기 (160)
    • 개인프로젝트 (5)
      • 시연영상모음 (4)
      • 주저리주저리.. (1)
    • 자바스크립트이야기 (69)
      • ExtJS (30)
      • ExtJS 유의사항 (3)
      • HTML5 (1)
      • jQuery (17)
      • jQuery플러그인소개 (9)
      • jQuery UI 소개 (9)
    • 스프링연동하기 (23)
      • spring3 mvc 설정 (4)
      • spring3 mybatis 설정 (4)
      • spring3 기타설정 (11)
      • ibatis and mybatis (4)
    • DB (26)
      • MySQL vs MS-SQL vs O.. (5)
      • MySQL (10)
      • MSSQL (5)
      • Oracle (6)
    • 서버에웹환경구축하기 (13)
      • 1.VirtualBox+CentOS .. (5)
      • 2.JAVA(JDK) 설치 (1)
      • 3.Apache+Tomcat 설치 (3)
      • 4,SVN Server 설치 (1)
      • 5.마리아DB(MariaDB) 설치 (2)
      • 6.몽고DB(MongoDB)설치 (1)
    • 샘플소스 (14)
      • 샘플소스(JAVA) (7)
      • 샘플소스(JSTL) (4)
      • 샘플소스(jQuery/스크립트) (3)
    • 에디터연동 (5)
      • NAVER-스마트에디터 (4)
      • DAUM-다음에디터 (1)
    • 블로그팁 (3)
    • 디지털이야기 (2)
댓글
/162
2014. 8. 24. 13:55
(MySQL,MS-SQL,ORACLE) case when then else end 사용하여 조건문 다루기

이번에 다룰 내용은 다중 조건문이다.


MySQL에는 IF 함수


2014/08/24 - [DB/MySQL] - MySQL - if ~ else 조건문 사용하기 : if


ORACLE에는 DECODE 함수 


2014/08/24 - [DB/Oracle] - Oracle - if ~ else 조건문 사용하기 : DECODE


같은 단일 조건문에 대한 함수가 존재하지만 다중 조건일 경우에는 CASE문을 사용하도록 하자


CASE문의 경우는 DBMS 종류 상관없이 사용이 가능하다



CASE문 사용법


CASE

   WHEN 조건문1

       THEN '치환값1'

   WHEN 조건문2

      THEN '치환값2'

   .

   .

   ELSE '상위조건이 모두 아닐경우 DEFAULT 치환값'

END 




공통 테스트 테이블 생성 및 데이터 INSERT


CREATE TABLE case_table(
  msg varchar(1)
);
insert into case_Table
values('1');
insert into case_Table
values('2');
insert into case_Table
values('3');
insert into case_Table
values('2');
insert into case_Table
values('2');
insert into case_Table
values('3');
insert into case_Table
values('3');
insert into case_Table
values('2');
insert into case_Table
values('1');

위의 생성한 데이터에 따른 조건은 다음과 같다.


msg 컬럼의 데이터값이


1일 경우 : 어서오세요

2일 경우 : 반갑습니다

3일 경우 : 안녕히가세요


라는 값으로 치환을 하도록 하겠음


case문 실행 쿼리


SELECT msg
      ,CASE 
          WHEN msg = '1'
          THEN '어서오세요'
         WHEN msg = '2'
          THEN '반갑습니다'
		 WHEN msg = '3'
          THEN '안녕히가세요'
       END msg_str
FROM case_table

실행결과




슈퍼맨슈퍼맨슈퍼맨



도움이 되셨다면 공감클릭! 궁금하신점은 댓글!!

저작자표시 비영리 변경금지 (새창열림)

'DB > MySQL vs MS-SQL vs ORACLE' 카테고리의 다른 글

각 DBMS(oracle,mssql,mysql) 별 컬럼,필드 삭제 명령어  (0) 2014.09.23
오라클,MySQL,MSSQL 각 DBMS별 컬럼을 추가해보도록 하자  (0) 2014.09.23
(MySQL,MS-SQL,ORACLE) DB에 존재하는 테이블이름 변경하기  (0) 2014.09.22
DBMS별(ms-sql vs mysql vs oracle) 문자열 합치기  (0) 2014.08.18

티스토리툴바