본문 바로가기
Develops/SQL

[ORCALE] DECODE 함수 (SQL로 IF ELSE 구문 사용하기)

by SLOTH91 2024. 8. 3.
반응형

쿼리를 작성하다 보면 생각보다 많이 사용하게 되는 함수가 DECODE 함수이다.

복잡한 로직을 짜게 된다면 가독성을 고려하여 CASE WHEN 구문을 추천하지만,

간단한 IF ELSE 로직을 처리하기 위함이라면  DECODE 함수를 활용한다면 간결하게 쿼리를 작성할 수 있다.

 

구문 예시

DECODE(컬럼, 조건1, 결과1, 조건2, 결과2, 조건3, 결과3, ... , 조건에 해당하지 않았을 때의 값)

출처 : https://gent.tistory.com/227

 

구문 예시

-- COL1 값이 'A' 인 경우에만 'Y' 반환하고, 그 외에는 'N' 반환하기
SELECT DECODE(COL1, 'A', 'Y', 'N') AS RESULT
  FROM TBL1


-- COL1 값이 'A'이면서, COL2 값이 '9' 인 경우에 'Y' 반환하고, 그 외에는 'N' 반환하기
SELECT DECODE(COL1, 'A', DECODE(COL2, '9', 'Y', 'N'), 'N') AS RESULT
  FROM TBL1

 

 

 

 

[ 참고 ]

 - [Oracle] 오라클 DECODE 함수 사용방법 (if else, 디코드) (https://gent.tistory.com/227)

반응형