반응형
06-6 NULL 처리 함수
특정 열의 데이터가 NULL이여서 연산 수행이 되지 않을 때, NVL함수와 NVL2 함수를 사용해 데이터를 NULL이 아닌 다른 값으로 대체해 줌.
[NVL 함수의 기본 사용법]
NVL([NULL인지 여부를 검사할 데이터 또는 열(필수)],
[앞의 데이터가 NULL일 경우 반환할 데이터(필수)])
*입력 데이터가 NULL이 아닐 경우, 그대로 반환.
[NVL2 함수의 기본 사용법]
NVL2 함수는 NVL함수와 비슷하나, 데이터가 NULL이 아닐 때 반환할 데이터를 추가로 지정할 수 있음.
NVL2([NULL인지 여부를 검사할 데이터 또는 열(필수)],
[앞의 데이터가 NULL이 아닐 경우 반환할 데이터 또는 계산식(필수)],
[앞의 데이터가 NULL일 경우 반환할 데이터 또는 계산식(필수)])
06-7 상황에 따라 다른 데이터를 반환하는 DECODE 함수와 CASE문
특정 열 값이나 데이터 값에 따라 어떤 데이터를 반환할 지 정할 때, DECODE 함수와 CASE문을 사용함.
[DECODE 함수]
기준이 되는 데이터를 먼저 지정한 후, 해당 데이터 값에 따라 다른 결과 값을 내보내는 함수
DECODE([검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과],
[조건 1], [데이터가 조건1과 일치할 때 반환할 결과],
[조건 2], [데이터가 조건2과 일치할 때 반환할 결과],
[조건 3], [데이터가 조건3과 일치할 때 반환할 결과],
...
[조건 n], [데이터가 조건n과 일치할 때 반환할 결과],
[위 모든 조건과 일치한 경우가 없을 때 반환할 결과])
*조건에 해당하는 값이 없을 때 반환 값(DECODE 함수의 맨 마지막 데이터)을 지정하지 않으면 NULL이 반환됨.
[CASE문]
특정 조건에 따라 반환할 데이터를 설정할 때 사용.
DECODE 함수와 달리 각 조건에 사용하는 데이터가 서로 상관없어도 되고, 기준 데이터 값이 같은(=) 데이터 외에도 다양한 조건 사용 가능.
CASE([검사 대상이 될 열 또는 데이터, 연산이나 함수의 결과(선택)]
WHEN [조건 1] THEN [조건1의 결과값이 true일 때 반환할 결과]
WHEN [조건 2] THEN [조건2의 결과값이 true일 때 반환할 결과]
...
WHEN [조건 n] THEN [조건n의 결과값이 true일 때 반환할 결과]
ELSE [위 모든 조건과 일치하는 경우가 없을 때 반환할 결과])
END
반응형
'빅데이터 > Oracle SQL | Do it! 오라클로 배우는 데이터베이스 입문' 카테고리의 다른 글
다중행 함수란? | SUM / COUNT / MAX / MIN / AVG (0) | 2023.02.19 |
---|---|
[오라클로 배우는 데이터베이스 입문 | 06장 오라클 함수] 문제 풀이 (p174) (0) | 2023.02.18 |
오라클 함수 | 형 변환 함수 (TO_CHAR / TO_NUMBER / TO_DATE) (0) | 2023.02.16 |
오라클 함수 | 날짜 함수 (SYSDATE / ADD_MONTHS / MONTHS_BETWEEN / NEXT_DAY, LAST_DAY / ROUND, TRUNC) (0) | 2023.02.15 |
오라클 함수 | 숫자 함수 (ROUND / TRUNC / CEIL, FLOOR / MOD) (0) | 2023.02.14 |