책 내용 질문하기
온라인 채점 결과 문의
도서
2026 시나공 컴퓨터활용능력1급 실기 기본서
페이지
0
조회수
67
작성일
2026-08-22
작성자
박*우
첨부파일

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)>=3,"장기대여","단기대여") 이 부분에서

Left에서 나온 값은 텍스트 취급이기에 *1을 사용하여 숫자 취급을 해야되는거 아닌가요?


IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여") 이렇게 사용하여도 실행화면에서는 정답과 같이 나오는데 이렇게 쓰면 안되는 건가요?

답변
2026-08-24 09:37:48

안녕하세요.

네. Left 함수의 반환값은 문자열이므로,

Left([대여기간],1)*1

처럼 *1을 하여 숫자로 변환하려고 생각하신 것은 논리적으로 타당합니다.

다만 이 문제에서는 *1이 필요하지 않습니다. Access가 다음 비교를 처리할 때

Left([대여기간],1)>=3

오른쪽의 3이 숫자이므로, "3", "4"처럼 숫자로 변환 가능한 문자열을 숫자로 암시적 형 변환하여 비교할 수 있기 때문입니다.

따라서 예를 들어 대여기간="3개월"이라면:

Left("3개월",1) → "3"
"3" >= 3 → Access에서 정상 비교 → True

질문하신

IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여")

도 이 데이터에서는 동일한 결과가 나오므로 논리적으로 잘못된 식은 아닙니다. *1은 명시적으로 숫자로 변환하는 역할만 추가한 것입니다.

다만 문제에서 별도로 숫자 변환을 요구하지 않았고 교재 자동 채점은 식 자체를 비교하기 때문에 오답으로 표시된 것입니다. 실제 시험 대비에서는 불필요한 *1을 추가하지 않고 정답처럼 작성하는 것이 가장 안전합니다.

참고로 명시적으로 형 변환해야 하는 상황이라면 *1뿐 아니라 Val() 등의 방법도 있지만, 지정 함수가 있는 시험 문제에서는 제시된 함수만 사용하는 것을 우선하시면 됩니다.

즐거운 하루 되세요.

  • 관리자
    2026-08-24 09:37:48

    안녕하세요.

    네. Left 함수의 반환값은 문자열이므로,

    Left([대여기간],1)*1

    처럼 *1을 하여 숫자로 변환하려고 생각하신 것은 논리적으로 타당합니다.

    다만 이 문제에서는 *1이 필요하지 않습니다. Access가 다음 비교를 처리할 때

    Left([대여기간],1)>=3

    오른쪽의 3이 숫자이므로, "3", "4"처럼 숫자로 변환 가능한 문자열을 숫자로 암시적 형 변환하여 비교할 수 있기 때문입니다.

    따라서 예를 들어 대여기간="3개월"이라면:

    Left("3개월",1) → "3"
    "3" >= 3 → Access에서 정상 비교 → True

    질문하신

    IIf(Left([대여기간],1)*1>=3,"장기대여","단기대여")

    도 이 데이터에서는 동일한 결과가 나오므로 논리적으로 잘못된 식은 아닙니다. *1은 명시적으로 숫자로 변환하는 역할만 추가한 것입니다.

    다만 문제에서 별도로 숫자 변환을 요구하지 않았고 교재 자동 채점은 식 자체를 비교하기 때문에 오답으로 표시된 것입니다. 실제 시험 대비에서는 불필요한 *1을 추가하지 않고 정답처럼 작성하는 것이 가장 안전합니다.

    참고로 명시적으로 형 변환해야 하는 상황이라면 *1뿐 아니라 Val() 등의 방법도 있지만, 지정 함수가 있는 시험 문제에서는 제시된 함수만 사용하는 것을 우선하시면 됩니다.

    즐거운 하루 되세요.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.