Oracle 기준으로 다음 SQL 의 실행 결과(건수)는? (상품코드의… | [SQLD] SQL 개발자 기출유형 모의고사 10회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 10회
Oracle 기준으로 다음 SQL 의 실행 결과(건수)는? (상품코드의 데이터 타입은 VARCHAR2 이다)[계약]
| 계약번호 | 상품코드 |
|---|---|
| 1 | 10 |
| 2 | 010 |
| 3 | 100 |
| 4 | 0010 |
| 5 | 1 |
| 6 | 20 |
SELECT COUNT(*) AS 건수 FROM 계약 WHERE 상품코드 = 10;
1
3
2
2
3
1
4
4
해설
Oracle 은 문자와 숫자를 비교하면 문자 쪽을 숫자로 바꾸는 암시적 형변환을 하므로 조건은 TO_NUMBER(상품코드) = 10 으로 처리된다.
그래서 앞자리 0이 사라진 '10'·'010'·'0010' 세 행이 모두 10과 같아 건수는 3이다.
- 1건은 문자열 '10' 과 정확히 같은 값만 센 결과다.
- 2건은 '0010' 을 빠뜨린 결과다.
- 4건은 '100' 이나 '1' 까지 같다고 본 결과다.
오류나 개정된 내용이 보이면 알려주세요