2026_최신기출문제_07회_2024년상시03
-5. 분양률평가 쿼리 0/7
-쿼리 비교 X [분양률평가] 쿼리 (UPDATE 산업단지현황 SET 산업단지현황.비고 = Switch([분양률]=100,"분양완료",[분양률]<100,[분양률] & "% 분양중",[분양률]<70,"분양미달",[분양률]=0,"미분양"); )이 정답(UPDATE 산업단지현황 SET 산업단지현황.비고 = Switch([분양률]=100,"분양완료",[분양률]>=70,[분양률] & "% 분양중",[분양률]>0,"분양미달",[분양률]=0,"미분양"); )과 다릅니다.
문제에 조건이 100미만 70이상, 70미만 0초과 이렇게 두개가 있는데 왜 70이상,0초과 라는 조건을 쓰나요? 100미만 , 70미만 이 조건을 쓰면 왜 오답인가요?
안녕하세요.
Switch 함수는 위에서부터 순서대로 조건을 검사하여, 처음 참이 되는 조건만 실행합니다.
작성하신 식:
Switch(
[분양률]=100,"분양완료",
[분양률]<100,[분양률] & "% 분양중",
[분양률]<70,"분양미달",
[분양률]=0,"미분양")
여기서 문제가 되는 것은
[분양률]<100
입니다.
예를 들어 분양률이 50이라면,
=100→ 거짓<100→ 참 → "50% 분양중" 반환<70→ 검사도 하지 않음
즉, 70 미만도 모두 '분양중'으로 처리되어 버립니다.
그래서 정답처럼 작성해야 합니다.
Switch(
[분양률]=100,"분양완료",
[분양률]>=70,[분양률] & "% 분양중",
[분양률]>0,"분양미달",
[분양률]=0,"미분양")
이렇게 하면
100 → 분양완료
70~99 → 분양중
1~69 → 분양미달
0 → 미분양
으로 조건이 서로 겹치지 않습니다.
핵심
Switch에서는 앞의 조건에 포함되지 않는 범위를 써야 합니다.따라서
<100,<70처럼 겹치는 조건보다>=70,>0처럼 배타적인 조건을 사용하는 것이 맞습니다.
즐거운 하루 되세요.
-
관리자2026-08-02 20:27:36
안녕하세요.
Switch함수는 위에서부터 순서대로 조건을 검사하여, 처음 참이 되는 조건만 실행합니다.작성하신 식:
Switch( [분양률]=100,"분양완료", [분양률]<100,[분양률] & "% 분양중", [분양률]<70,"분양미달", [분양률]=0,"미분양")여기서 문제가 되는 것은
[분양률]<100입니다.
예를 들어 분양률이 50이라면,
=100→ 거짓<100→ 참 → "50% 분양중" 반환<70→ 검사도 하지 않음
즉, 70 미만도 모두 '분양중'으로 처리되어 버립니다.
그래서 정답처럼 작성해야 합니다.
Switch( [분양률]=100,"분양완료", [분양률]>=70,[분양률] & "% 분양중", [분양률]>0,"분양미달", [분양률]=0,"미분양")이렇게 하면
100 → 분양완료
70~99 → 분양중
1~69 → 분양미달
0 → 미분양
으로 조건이 서로 겹치지 않습니다.
핵심
Switch에서는 앞의 조건에 포함되지 않는 범위를 써야 합니다.따라서
<100,<70처럼 겹치는 조건보다>=70,>0처럼 배타적인 조건을 사용하는 것이 맞습니다.
즐거운 하루 되세요.