학습용 기출·복원자료 분류 확인SQLD · 2023년 51회 SQL 기본 및 활용 · 17번
Oracle 숫자 나눗셈 결과의 연결로 옳은 것은?
1
10/NULL은 0이고 10/0은 NULL이다.
오답 이유NULL 산술은 0이 아니며 0 나눗셈은 NULL 반환이 아니라 오류다. 따라서 1번 보기 ‘10/NULL은 0이고 10/0은 NULL이다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
두 식 모두 NULL이다.
오답 이유직접 0으로 나누는 식은 정상적인 NULL 결과가 아니다. 따라서 2번 보기 ‘두 식 모두 NULL이다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
두 식 모두 오류다.
오답 이유10/NULL은 오류 없이 NULL을 반환한다. 따라서 3번 보기 ‘두 식 모두 오류다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
10/NULL은 NULL이고 10/0은 오류다.
정답 근거NULL과 산술 연산한 결과는 NULL이다. 숫자 0으로 직접 나누면 ORA-01476 오류가 나며 `NULLIF(분모,0)`는 0을 NULL로 바꿔 오류를 피할 수 있다. 따라서 4번 보기 ‘10/NULL은 NULL이고 10/0은 오류다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 4번
핵심 판단은 4번 ‘10/NULL은 NULL이고 10/0은 오류다.’입니다. NULL과 산술 연산한 결과는 NULL이다. 숫자 0으로 직접 나누면 ORA-01476 오류가 나며 `NULLIF(분모,0)`는 0을 NULL로 바꿔 오류를 피할 수 있다.