티스토리 뷰
CASE ~ WHEN ~ THEN ~ ELSE ~ END
[형식]
CASE 컬럼명 | 표현식 WHEN 조건식1 THEN 결과1
WHEN 조건식2 THEN 결과2
.......
WHEN 조건식n THEN 결과n
ELSE 결과
END
조건문과 조건문 사이에는 콤마(,) 를 사용하지 않는다.
CASE 문은 반드시 END 로 끝내야 한다.
CASE 표현식은 ANSI SQL 형식도 지원한다.
DECODE
[형식]
DECODE( 컬럼명 | 표현식, 조건식1, 결과1, 조건식2, 결과2, … 조건식n, 결과n, DEFAULT)
DECODE 함수는 CASE문과 동일한 기능을 수행한다. CASE 문은 반드시 END 로 끝내야 한다.
DEFAULT 값이 생략될 경우 NULL을 반환한다.
비교연산의 대상이 되는 컬럼명과 조건식은 데이터 타입이 동일하거나 서로 변환 가능해야한다.
* 다음 2개의 쿼리는 동일하지만 조건에 NULL이 나타나면 결과값은 다르게 나타난다.
SELECT CASE NULL WHEN NULL THEN 'A'
ELSE 'B'
END
FROM DUAL
CASE문의 경우 NULL은 IS NULL이나 IS NOT NULL로 비교해야되기 때문에 조건에 NULL이 하나라도 나타나면 제대로 비교되지 않는다. (결과 : ‘B’)
SELECT DECODE(NULL, NULL, 'A', 'B') FROM DUAL
DECODE 함수의 경우 제대로 비교된다. (결과 : ‘A’)
'웹개발 > Oracle' 카테고리의 다른 글
[오라클(Oracle)] Oracle Error 모음 (0) | 2016.10.31 |
---|---|
[오라클(Oracle)] DB Lock 해제 (1) | 2016.10.26 |
[오라클(Oracle)] UNION, UNION ALL (379) | 2016.10.26 |
- Total
- Today
- Yesterday
- 한영 변환
- 옵저버블
- phone number
- typeScript
- paralles desktop
- 아이오닉2
- NgForm
- password validation
- jQuery
- git commit
- npm
- 웹 소켓 프로토콜
- Angular
- ionic2
- angular2
- Angular CLI
- Gulp
- Facebook AccountKit
- git branch
- git merge
- Routes
- Grunt
- module exports
- 번들링
- 아이오닉
- Typescript 패키지
- 폼 유효성 검사
- End-to-End testing
- 의존성 주입
- Webpack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |