DB

[SQL] 조건문 DECODE

초코파이쩡 2023. 3. 23. 16:39
반응형

내 블로그에 빠르게 보기위해서 퍼온글 

 

[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