[Oracle], 분기함수 이용하기
- Computer/DB
- 2023. 2. 5.
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 |