반응형
내 블로그에 빠르게 보기위해서 퍼온글
[SQL] 조건문 - DECODE, CASE~WHEN~THEN
조건문 - DECODE DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능) DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2' DECODE(A, B, '1', C, '2', '3') :: A 가 B 일 경우 '1'을, A 가 C 일 경
data-make.tistory.com
조건문 - DECODE
DECODE(A, B, '1', null) :: A 가 B 일 경우 '1'을, 아닐 경우 null(생략 가능)
DECODE(A, B, '1', '2') :: A 가 B 일 경우 '1'을, 아닐 경우 '2'
DECODE(A, B, '1', C, '2', '3') :: A 가 B 일 경우 '1'을, A 가 C 일 경우 '2', 둘 다 아닐 경우 '3'
DECODE(A, B, DECODE(C, D, '1', null)) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 가 만족 안 하면 null
DECODE(A, B, DECODE(C, D, '1', '2')) :: A 가 B 일 경우, C 가 D 를 만족하면 '1', C 가 D 를 만족 안 하면 '2'
SQL의 DECODE 함수는 프로그래밍 언어에서의 if 문과 비슷합니다.
if A = 1 then 'a'
A = 2 then 'b'
A = 3 then 'c'
else 'd'
해석해보면, 만일 A가 1 일 경우 'a' 를,
A가 2 일 경우 'b' 를,
A가 3 일 경우 'c' 를,
그 이외는 'd' 를 출력하라는 뜻입니다
이것을 DECODE 함수로 풀어보면
decode(A, 1, 'a', -- 이 부분은 사실 decode(A,1,'a',null) 과 같음. null 은 생략 가능하기때문!
2, 'b',
3, 'c',
,'d' )
반응형
'DB' 카테고리의 다른 글
[SQL] SQL 각각의 구문의 의미와 순서 (0) | 2023.03.28 |
---|---|
[SQL] Oracle Developer 테이블 여러개 열기 (0) | 2023.03.24 |
[SQL] GROUP BY절, HAVING 절 (0) | 2023.03.23 |
[SQL] COUNT(카운트) (0) | 2023.03.21 |
[sql] WHERE 절 문법 (0) | 2023.03.14 |