[Oracle], 분기함수 이용하기

반응형

 

 

ORACLE, 분기함수 사용

 

 

 

  분기함수

SELECT 컬럼1 FROM TABLE명

 위의 TABLE안에 컬럼1의 값이 무엇이 들어있는지는 알 수 없다.

그러나 컬럼1에 대한 결괏값을 갖고 카운트 함수를 사용하게 되었을 때, 분기함수는 매우 도움이 될 수 있다.

 

 

  DECODE -1

DECODE(컬럼값, 'Y', 1, 0);

DECODE 함수는 다음과 같다.

 

DECODE(대상1, 대상2, TRUE, FALSE)

대상1과 대상2가 같을 경우 세 번째 함수가 표시, 다를 경우 네 번째 함수가 표시된다.

위와 같은 경우 컬럼값이 'Y'일 경우 1, 아닐 경우 0을 표시한다.

 

 

  DECODE -2

DECODE(비교1, 비교2, '첫번째TRUE', 비교3, '두번째TRUE', '첫번째FALSE');

 두 번째 DECODE의 사용방법이다.

비교1과 비교2가 동일하다면, 첫 번째 TRUE가 표시되고비교1과 비교3이 동일하다면, 두 번째 TRUE가 표시된다.비교1이 비교2, 비교3이 모두 동일하지 않을 경우, 첫 번째 FALSE이 실행된다.

 

함수에 사용되는 타입이 많은만큼 헷갈릴 수 있으므로, 조심해야 한다.비교2와 비교3은 TRUE, FALSE여부 상관없이 결괏값을 따로 표시할 수는 없다.

 

 

  DECODE 사용하기

SELECT COUNT(컬럼1) AS TOTAL
, SUM(DECODE(컬럼2 ,'Y',1,0)) AS YES
, SUM(DECODE(컬럼3 , 'N', 1,0)) AS NO
FROM TABLE w ;

 DECODE의 사용방법.

TERMNL_INSTL_YN의 값에 따라서 갯수를 체크하는 방법으로 활용된다.

일반 언어의 IF - ELSE의 개념과 유사하다고 생각하면 된다.

반응형

'Computer > DB' 카테고리의 다른 글

[MariaDB] Window에서 MariaDB 비밀번호 찾기  (2) 2023.07.29
[Oracle] 사용한 컬럼 찾기  (0) 2023.07.04
[Oracle] NULL 처리 방법  (0) 2023.02.05
[MariaDB] DataBase Character 설정하기  (0) 2022.12.04
[MariaDB] DB 복구하기  (0) 2022.05.19

댓글

Designed by JB FACTORY