Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- 오류
- json
- spring
- eGovFramework
- TO_DATE
- 개념
- array
- Oracle
- was
- eGov
- select
- web.xml
- controller
- Database
- CSS
- Java
- 태그
- POI
- input
- 과정평가형
- 암호화
- sql
- Ajax
- jQuery
- javascript
- 함수
- mybatis
- html
- JVM
- 배열
Archives
- Today
- Total
web developer
[sql] DECODE 함수 본문
728x90
728x90
DECODE 함수
특정한 조건을 만족하면 X, 조건을 만족하지 않으면 Y 출력
* DECODE 함수는 프로그래밍에서의 if ~ then, if else 와 비슷한 기능을 수행한다.
* DECODE 함수와 CASE 함수의 간략한 차이점 :
DECODE : A=B이면 X, A≠B이면 Y를 출력 (A와 B가 같은지에 대한 조건)
CASE : DECODE와 달리, A와 B 사이에 부등호 관계(크거나 작은 조건)를 처리할 때 주로 사용
간단한 사용방법은 아래와 같다.
예) DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3, ..., ...)
(1) DECODE(A, B, X, Y)
select decode(컬럼이름A, 비교대상값B, 출력값X, 출력값Y), ... from 테이블이름;
A = B 이면 X를 출력,
A ≠ B 이면 Y를 출력
(2) DECODE(A, B, X, C, Y, Z)
select decode(컬럼이름A, 비교대상값B, 출력값X,
비교대상값C, 출력값Y, 출력값Z), ...
from 테이블이름;
A = B이면 X 출력,
A = C이면 Y 출력,
A ≠ B 이고 A ≠ C이면 Z 출력
(3) DECODE(A1, B, DECODE(A2, C, X, Y), Z)
select decode(컬럼이름A1, 비교대상값B,
decode(컬럼이름A2, 비교대상값B, 출력값X, 출력값Y),
출력값Z), ...
from 테이블이름;
A1=B이면서 A2=C이면 X 출력,
A1=B이면서 A2≠C이면 Y를 출력,
A1≠B이면 Z 출력
(DECODE 내부의 DECODE 중첩)
* 이때 비교하는 값인 B, C와 출력하는 값인 X,Y,Z 자리에 null도 사용할 수 있습니다.
728x90
728x90
'SQL > Oracle SQL' 카테고리의 다른 글
[sql] JOIN 정리 (0) | 2022.01.12 |
---|---|
[sql] RANK, DENSE_RANK, ROW_NUMBER 함수 (0) | 2022.01.10 |
[sql] INSTR 함수 (0) | 2022.01.07 |
[sql] SUBSTR 함수 (0) | 2022.01.07 |
[sql] Case When Then Else End (0) | 2021.12.28 |