COALESCE는 인자중 순차적으로 NULL체크를하여 NULL이아닌 첫번째 값을 반환해 줍니다.
COALESCE( A, B, C, D, E... )
SELECT COALESCE(0,1,2) FROM DUAL;
//0
SELECT COALESCE(null,1,2) FROM DUAL;
//1
SELECT COALESCE(null,null,2) FROM DUAL;
//2
상황에 따라 DECODE 와 NVL로 표현하는거보다 쉽게 표현이 가능 합니다.
단, 파라미터로 들어온 인자의 데이터타입은 일치해야합니다.
SELECT COALESCE(null,1,'a') FROM DUAL;
//ORA-00932: 일관성 없는 데이터 유형: NUMBER이(가) 필요하지만 CHAR임
위처럼 비교되는 타입이 일치하지않으면 오류를 나타냅니다.
'DB\SQL' 카테고리의 다른 글
[Oracle] dual 다중조회 (connect by level) (0) | 2019.10.19 |
---|---|
[Oracle] 오라클18 계정 생성하기 (0) | 2019.10.18 |
[Oracle] 첫 단어 대문자로 변경하기(INITCAP) (0) | 2019.08.08 |
[Oracle] 조건에 따른 값변경(DECODE) (0) | 2019.08.07 |
[Oracle] 자리수 채우기(LPAD,RPAD) (0) | 2019.08.06 |