티스토리 뷰

1. DECODE,CASE - 역할

IF .... ELSE 와 같은 기능을 하는 함수

 

DECODE - 동등비교만 할 수 있음

 

CASE - DECODE 보다 확장된 기능 ( 조건 비교가 가능)

 

 

◈ 구문형식

 

DECODE (컬럼 ,검색 1 , 결과값1 , 검색 2 , 결과값2 , 없을 경우 결과값)

 

CASE 컬럼 WHEN  비교1 THEN 결과1 WHEN 비교2 THEN 결과2  ....... ELSE 기본 값

 

CASE  WHEN  비교조건1 THEN 결과1 WHEN 비교조건2 THEN 결과2  ....... ELSE 기본 값

          

 


 

 

2. DECODE , CASE - 기본 테이블

◈ TEST_TABLE_ONE

 

NAME AMT ID
테스트1 1000

test1
테스트2 2000 test2
테스트3 3000 test3
 

3. DECODE - SQL 문장

◈ SQL

 

1
2
3
4
5
SELECT NAME
       ,AMT
       ,ID
       ,DECODE(AMT ,'1000','천원','2000','이천원',AMT) AS D_AMT 
          FROM TEST_TABLE_ONE

 

 

 

◈ 결과화면

 

NAME AMT ID  D_AMT
테스트1 1000

test1  천원
테스트2 2000 test2  이천원
테스트3 3000 test3  3000

 

 

◈ 설명

 

D_AMT 컬럼은 AMT 컬럼이 1000일 경우에는 천원 , 그렇지 않고 2000일 경우에는 이천원 , 그렇지 않을 경우는 AMT 컬럼 값이 나타나게 됩니다
 

4. CASE - SQL 문장

◈ SQL

 

1
2
3
4
5
6
7
8
9
10
SELECT NAME
       ,AMT
      ,ID
       ,CASE AMT WHEN '1000' THEN '천원'
                 WHEN '2000' THEN '이천원'
                 ELSE AMT END AS C_AMT_ONE
      ,CASE WHEN AMT>=3000 THEN '3000원 이상'
             WHEN AMT<=1000 THEN '1000원 미만'
              ELSE AMT END AS C_AMT_TWO
                FROM TEST_TABLE_ONE

 

 

 

 

◈ 결과화면

 

NAME AMT ID  C_AMT_ONE C_AMT_TWO 
테스트1 1000

test1  천원 1000원 미만 
테스트2 2000 test2  이천원 2000 
테스트3 3000 test3  3000 3000원 이상 

 

 

◈ 설명

 

CASE는 DECODE 보다 좀 더 섬세하게 조건을 줄 수 있습니다

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday