티스토리 뷰
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
12345 SELECT NAME,AMT,ID,DECODE(AMT ,'1000','천원','2000','이천원',AMT) AS D_AMTFROM 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
12345678910 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_TWOFROM 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 보다 좀 더 섬세하게 조건을 줄 수 있습니다
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] COUNT , SUM - 개수와 합계 (0) | 2016.10.06 |
---|---|
[oracle] DISTINCT - 중복된 내용 제거 (0) | 2016.10.04 |
[oracle] TO_DATE - 날짜형 데이터로 변환 (0) | 2016.10.04 |
[oracle] TO_CHAR - 문자형 데이터로 변환 (0) | 2016.09.29 |
[oracle] NVL ,NVL2,NULLIF - NULL일 경우 반환 함수 (0) | 2016.09.29 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday