1. NVL()
NVL(param, 1) |
모든 데이터 타입에 적용 가능한 함수.
param이 NULL일 경우 1을 반환하고, 그렇지 않은 경우 (NULL이 아닌 경우) param 값을 반환한다.
2. NVL2()
NVL2(param1, param2, param3) |
param1이 NULL이 아니면 param2를 반환하고, NULL이면 param3을 반환한다.
3. DECODE()
DECODE(param, null, "1", "2") |
param이 NULL일 경우 "1"을 반환, NULL이 아닐 경우 "2"를 반환한다.
4. NULLIF()
NULLIF(param1, param2) |
param1의 값이 param2의 값과 같으면 NULL을 반환하고 같지 않으면 param1의 값을 반환하다.
(= CASE WHEN param1 = param2 THEN NULL ELSE param1 END)
5. COALESCE()
COALESCE(param1, param2, param3... paramN) |
비교하는 데이터의 타입을 모두 통일시켜야 하는 함수.
(데이터 타입이 일치하지 않을시 => ORA-00932 : 데이터 유형이 일치하지 않습니다 에러 발생함)
모든 값이 NULL일 경우 NULL을 반환한다.
param1이 NULL이 아닐 경우 param1을 반환하나, param1이 NULL일 경우 param2의 값을 체크하고
=> param2가 NULL이 아닐 경우 param2의 값을 반환하나, param2가 NULL일 경우 param3의 값을 체크
=> ....paramN까지 반복
'BackEnd > DBMS' 카테고리의 다른 글
Oracle :: ORDER SIBILING BY (0) | 2018.03.12 |
---|---|
Oracle :: ORA-01861 Literal does not match format string (0) | 2018.01.25 |
Oracle :: 데이터 사전 (Data Dictionary) (0) | 2018.01.11 |
Oracle :: 연 월 주차 쿼리 (0) | 2017.12.21 |
Oracle :: 해당 파라미터로 받는 날짜의 다음날 + 요일을 출력하는 쿼리 (주말 제외) (0) | 2017.12.12 |