반응형
COALESCE
- COALESCE(case1, case2, case3, ..., caseN)
- COALESCE 함수는 나열된 값을 순차적으로 체크하여 NULL이 아닌 값이 나오는 인수를 반환한다.
- 이 함수는 ANSI 표준 함수로 오라클뿐만 아니라 다른 DB언어에서도 사용이 가능하며 오라클에서의 NVL과 비슷한 기능으로 작동한다.
COALESCE 함수에 대해 간략하게 알아봤으니 예제를 통해 접해보자.
우선 아래와 같은 데이터가 있다는 가정하에 진행해보자.
▷ 초기 데이터
deptno | salary |
10 | |
20 | 0 |
30 | 10000 |
40 |
▷ 쿼리문
SELECT deptno, salary,
COALESCE( salary * 0.9 , -1) AS realSalary
FROM dept;
▷ 결과
deptno | salary | realSalary |
10 | -1 | |
20 | 0 | 0 |
30 | 10000 | 9000 |
40 | -1 |
위 예제 쿼리문을 보면 COALESCE 안의 case 순서대로
salary * 0.9가 null 값일 경우에 -1을 입력하도록 선언해 놓은것이다.
COALESCE를 사용하기에 앞서 주의할 점이 하나 있는데,
COALESCE 함수 안에서 사용되는 값들의 타입이 전부 동일해야 한다는 점이다.
만약 COALESCE(salary * 0.9, 'none')
이런식으로 사용할 경우 아래와 같은 에러 메시지를 마주하게 된다.
본문 처음에서 설명했던 NVL에 대해서도 알아두자.
https://mine-it-record.tistory.com/64
반응형
댓글