2026_기본모의고사_04회
-5. 대여기간구분별현황 쿼리 0/7
-쿼리 비교 X [대여기간구분별현황] 쿼리 (SELECT IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여") AS 구분, Avg(도서목록.가격) AS 평균도서가격, Avg(도서목록.대여금액) AS 평균대여금액 FROM 도서목록 GROUP BY IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여"); )이 정답(SELECT IIf(Left([대여기간],1)>=3,"장기대여","단기대여") AS 구분, Avg(도서목록.가격) AS 평균도서가격, Avg(도서목록.대여금액) AS 평균대여금액 FROM 도서목록 GROUP BY IIf(Left([대여기간],1)>=3,"장기대여","단기대여"); )과 다릅니다.
IIf(Left([대여기간],1)*1>=3 *1쓰면 오답처리일까요?
안녕하세요.
*1을 붙인
IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여")은 현재 데이터가 숫자로 시작하는 값이라면 기능적으로는 정답식과 같은 결과가 나올 가능성이 높습니다.
이유는 Left([대여기간],1)이 문자 "3"처럼 텍스트를 반환하기 때문입니다. 여기에 *1을 하면
"3" * 1 → 숫자 3으로 강제 변환됩니다.
정답의
Left([대여기간],1)>=3도 Access가 비교 과정에서 "3"을 숫자로 자동 변환해 처리할 수 있어서 결과가 같을 수 있습니다.
즉 *1은 불필요하지만 논리적으로 틀린 것은 아닙니다.
다만 지금 채점 결과처럼 자동채점은
Left([대여기간],1)*1>=3과
Left([대여기간],1)>=3을 서로 다른 식으로 비교할 수 있으므로 오답 표시가 날 수 있습니다.
시험 대비에서는 문제에서 별도로 숫자 변환을 요구하지 않았다면 정답처럼 *1을 붙이지 않는 것이 가장 안전합니다.
즐거운 하루 되세요.
-
관리자2026-09-30 09:40:27
안녕하세요.
*1을 붙인IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여")은 현재 데이터가 숫자로 시작하는 값이라면 기능적으로는 정답식과 같은 결과가 나올 가능성이 높습니다.
이유는
Left([대여기간],1)이 문자"3"처럼 텍스트를 반환하기 때문입니다. 여기에*1을 하면"3" * 1 → 숫자 3으로 강제 변환됩니다.
정답의
Left([대여기간],1)>=3도 Access가 비교 과정에서
"3"을 숫자로 자동 변환해 처리할 수 있어서 결과가 같을 수 있습니다.즉
*1은 불필요하지만 논리적으로 틀린 것은 아닙니다.다만 지금 채점 결과처럼 자동채점은
Left([대여기간],1)*1>=3과
Left([대여기간],1)>=3을 서로 다른 식으로 비교할 수 있으므로 오답 표시가 날 수 있습니다.
시험 대비에서는 문제에서 별도로 숫자 변환을 요구하지 않았다면 정답처럼
*1을 붙이지 않는 것이 가장 안전합니다.즐거운 하루 되세요.