문제
다음 SQL의 실행 결과로 가장 적절한 것은?
<데이터>
| COL1 |
|---|
| '10' |
| '90' |
| '100' |
SQLSELECT TO_NUMBER(MIN(COL1)) + TO_NUMBER(MAX(COL1)) AS RESULT FROM T;
<조건> COL1은 문자형 컬럼이다.
① 100 ② 110 ③ 190 ④ 1010
정답
1번
해설
정답: 1. 문자형 기준 정렬에서 MIN은 '10', MAX는 '90'이므로 숫자로 변환해 더하면 100이다.
오답 풀이
- 1번: 문자형 MIN/MAX 결과를 숫자로 변환해 더한 값이다.
- 2번: 숫자형 최솟값 10과 최댓값 100을 더한 값과 혼동했다.
- 3번: 90과 100을 더한 값이다.
- 4번: 문자열 결합과 혼동한 값이다.
보충 개념 문자형 컬럼의 MIN/MAX는 숫자 크기가 아니라 문자 정렬 순서 기준으로 결정된다. 숫자 비교가 필요하면 명시적 형 변환이 필요하다.