• 분류 전체보기 (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)
댓글
DB
26
/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
/161
2014. 8. 24. 13:33
Oracle - if ~ else 조건문 사용하기 : DECODE


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



이번 포스팅은 Oracle 단일 조건문에 대하여 설명하고자 한다.


Oracle에서 제공하는 DECODE를 이용하여 조건에 따른 데이터를 변경해 보겠음

테이블은 이전에 포스팅한 ORACLE - NULL_TABLE 기준으로 설명을 진행하겠음


2014/08/23 - [DB/Oracle] - 오라클 - 널체크(NVL 사용하기)


DECODE 적용

사용법 : DECODE(비교컬럼명,비교값,'참일경우','거짓일경우')


SELECT null_text,DECODE(null_text,null,'널입니다','널이아닙니다') null_str 
  FROM null_table




요약


NULL_TEXT 컬럼의 값이 조건이               

TRUE 일 경우 - '널입니다' 문자열 치환

FALSE일 경우 - '널이아닙니다' 문자열 치환


널체크일 경우는 NVL을 이용하도 가능하지만 

널체크 외에 다른 조건을 비교할경우에는 DECODE를 사용하면 되겠다.


※ 단일 조건문의 경우 DECODE를 사용해도 되지만

    다중조건일 경우는 CASE를 사용하면 되겠다


슈퍼맨슈퍼맨슈퍼맨



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



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

'DB > Oracle' 카테고리의 다른 글

오라클 - 널체크(NVL 사용하기)  (0) 2014.08.23
ORACLE 오라클 rownum을 이용하여 페이징 처리하기  (0) 2014.08.15
오라클(Oracle) 데이터를 일괄로 다른테이블에 INSERT 하기 (INSERT INTO ... SELECT ... FROM ...)  (2) 2014.08.13
오라클 계층형 트리구조 쿼리 (재귀호출) - START WITH .. CONNECT BY PRIOR  (0) 2014.08.12
오라클(Oracle) sequence 생성, 등록, 최종 시퀀스값 조회하기  (2) 2014.08.11
/160
2014. 8. 24. 13:23
MySQL - if ~ else 조건문 사용하기 : if


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


이번 포스팅은 MySQL 단일 조건문에 대하여 설명하고자 한다.


MySQL에서 제공하는 if 함수를 이용하여 조건에 따른 데이터를 변경해보도록 하겠음

테이블 구조는 전에 포스팅한 mysql - null_table 구조를 기준으로 설명하도록 하겠음


2014/08/23 - [DB/MySQL] - MySQL - 널체크(IFNULL 사용하기)


IF 함수 적용 

사용법 : IF(조건절,'참일경우 치환데이터','거짓일경우 치환 데이터')


select IF(null_text is null,'널입니다','널이아닙니다') null_str 
from null_table




요약


null_text 컬럼의 값이 널일경우 '널입니다'  문자열로 표시 

                             널이아닐경우 '널이아닙니다' 문자열로 표시



널체크는 IFNULL과 위와같은 IF문을 이용하여 체크가 가능하지만

NULL이 아닐경우의 데이터의 경우는 IF 함수를 사용이 가능하다


※ 단일 조건문과 같은 경우는 IF문을 사용해도 무관하나 

    다중 조건일 경우는 CASE문을 사용하면 되겠다



슈퍼맨슈퍼맨슈퍼맨



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


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

'DB > MySQL' 카테고리의 다른 글

MySQL JDBC - 다중쿼리(multiple query) 한번에 처리하기옵션  (0) 2014.09.03
MySQL - DB 및 테이블 목록 조회  (2) 2014.09.03
MySQL - 널체크(IFNULL 사용하기)  (0) 2014.08.23
MySQL LIMIT를 사용하여 페이징쿼리를 동작시켜보자  (0) 2014.08.15
MySQL SELECT 쿼리로 한꺼번에 다른 테이블에 INSERT 하기 (INSERT ... SELECT ... FROM ...)  (0) 2014.08.12
/159
2014. 8. 23. 20:52
오라클 - 널체크(NVL 사용하기)


2014/08/23 - [DB/MySQL] - MySQL - 널체크(IFNULL 사용하기)


2014/08/23 - [DB/MSSQL] - MS-SQL - 널체크(ISNULL 사용하기)


이어서 ORACLE 널체크(NVL)에 대하여 포스팅을 해보고자 한다.


1. CREATE TABLE


CREATE TABLE NULL_TABLE(
   NULL_TEXT NVARCHAR2(20)
)

2. INSERT DATA


insert into null_table(null_text)
values('test1');
insert into null_table(null_text)
values(null);
insert into null_table(null_text)
values('test2');
insert into null_table(null_text)
values(null);
insert into null_table(null_text)
values('test3');

3. SELECT TABLE


SELECT * 
FROM null_table



4. NVL 적용

   사용법 : NVL(컬럼,'컬럼이 NULL일경우 대체값')


select null_text, NVL(null_text,'널입니다') null_check
from null_table




슈퍼맨슈퍼맨슈퍼맨



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

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

'DB > Oracle' 카테고리의 다른 글

Oracle - if ~ else 조건문 사용하기 : DECODE  (0) 2014.08.24
ORACLE 오라클 rownum을 이용하여 페이징 처리하기  (0) 2014.08.15
오라클(Oracle) 데이터를 일괄로 다른테이블에 INSERT 하기 (INSERT INTO ... SELECT ... FROM ...)  (2) 2014.08.13
오라클 계층형 트리구조 쿼리 (재귀호출) - START WITH .. CONNECT BY PRIOR  (0) 2014.08.12
오라클(Oracle) sequence 생성, 등록, 최종 시퀀스값 조회하기  (2) 2014.08.11
/158
2014. 8. 23. 20:31
MS-SQL - 널체크(ISNULL 사용하기)

2014/08/23 - [DB/MySQL] - MySQL - 널체크(IFNULL 사용하기)


2014/08/23 - [DB/Oracle] - 오라클 - 널체크(NVL 사용하기)


지난에 포스팅했던 MySQL 널체크에 이어  이번에는 MS-SQL 널체크(ISNULL)에 대하여 포스팅을 해보고자 한다.


1. CREATE TABLE


create table null_table (
  idx bigint IDENTITY(1,1) NOT NULL  PRIMARY KEY,
  null_text varchar(20)  NULL 
)

2. INSERT DATA


insert into null_table(null_text)
values('1');
insert into null_table(null_text)
values(null);
insert into null_table(null_text)
values('2');
insert into null_table(null_text)
values(null);
insert into null_table(null_text)
values('3');

3. SELECT TABLE

SELECT * 
FROM null_table



4. ISNULL 함수 적용

   사용법 : ISNULL(컬럼명,'컬럼이 NULL일 경우 대체 값')


select *, ISNULL(null_text,'널입니다') null_check
from null_table





슈퍼맨슈퍼맨슈퍼맨



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

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

'DB > MSSQL' 카테고리의 다른 글

MS-SQL 2005 이상 row_number() over(order by 정렬조건) 을 이용하여 페이징쿼리를 동작시켜보자  (0) 2014.08.15
MS-SQL SELECT 쿼리로 다른 테이블로 INSERT (INSERT SELECT FROM , SELECT INTO FROM)  (1) 2014.08.13
MS-SQL 계층형 트리구조 쿼리 (재귀호출) - with ...(col 1, col 2 ...,col n) as ... union .  (2) 2014.08.12
MS-SQL 시퀀스 identity 생성 및 초기화하기  (0) 2014.08.11
이전 1 2 3 4 5 6 다음

티스토리툴바