학습용 기출·복원자료 분류 확인SQLD · 2025년 56회 SQL 기본 및 활용 · 46번
문자와 숫자가 섞인 VARCHAR2 열에 `WHERE 문자열 > 0`을 적용할 때 발생 가능한 문제는?
1
모든 문자가 자동으로 0이 되어 정상 실행된다.
오답 이유일반 문자열을 임의로 0으로 치환하지 않는다. 따라서 1번 보기 ‘모든 문자가 자동으로 0이 되어 정상 실행된다.’의 적용 여부를 문제 조건과 대조해야 한다.
2
숫자로 변환할 수 없는 문자가 있으면 변환 오류가 발생한다.
정답 근거숫자 0과 문자 열을 비교하면 DBMS가 문자값을 숫자로 암시적 변환하려 할 수 있다. 숫자가 아닌 값이 포함되면 invalid number 오류가 발생하므로 명시적 검증·변환이 필요하다. 따라서 2번 보기 ‘숫자로 변환할 수 없는 문자가 있으면 변환 오류가 발생한다.’의 적용 여부를 문제 조건과 대조해야 한다.
3
문자열 길이만 비교한다.
오답 이유숫자와의 비교에서 문자열 길이를 기준으로 삼지 않는다. 따라서 3번 보기 ‘문자열 길이만 비교한다.’의 적용 여부를 문제 조건과 대조해야 한다.
4
NULL 행만 오류가 난다.
오답 이유NULL 비교는 UNKNOWN이며 실제 오류 원인은 숫자로 바꿀 수 없는 비NULL 문자다. 따라서 4번 보기 ‘NULL 행만 오류가 난다.’의 적용 여부를 문제 조건과 대조해야 한다.
ANSWER & EXPLANATION
정답 2번
핵심 판단은 2번 ‘숫자로 변환할 수 없는 문자가 있으면 변환 오류가 발생한다.’입니다. 숫자 0과 문자 열을 비교하면 DBMS가 문자값을 숫자로 암시적 변환하려 할 수 있다. 숫자가 아닌 값이 포함되면 invalid number 오류가 발생하므로 명시적 검증·변환이 필요하다.