5) '주민등록번호'필드에 대해 다음과 같이 입력되도록 설정하시오.
▶ 7번째 자리에 입력되는 "-"이후에 반드시 7 자리가 입력되도록 할것
정답) len([주민등록번호]) - instr([주민등록번호],"-") = 7
len([주민등록번호]) =14 이고
instr([주민등록번호],"-") =7 이어서 14-7 = 7 이라는 교재의 설명인데요.
물론 식은 이해됩니다. 그러나 결과값 7 이 문제에서 요구한 주민등록번호 뒷부분 7자리라는 것을 어떻게 규정하고 있는지 잘이해가 안됩니다.
instr([주민등록번호],"-") 이부분의 값은 7인데 이것이 앞부분부터 7자리라는 것을 말하고 있는 건가요? instr함수에 대한 설명을 다시 읽어 보아도 단지 텍스트내에 위치 값만 반환하는 것으로 되어 있는데요.
그러고보면 instr([주민등록번호],"-") 이부분을 굳이 쓸필요가 있나 요? "-"가 8자리 또는 5자리에 나오는것 아니고 모든 주민번호에서 7번째 자리로 고정되어 있는데요. len([주민등록번호]) - 7 = 7 이렇게쓰면 왜안되나요?
정답이 왜? 문제에서 요구한 답이 됬는지 잘이해하지 못하겠습니다.
안녕하세요.
데이터가 모두 정확히 입력된다면 님과 같이 할 수도 있습니다. 하지만 입력하다보면 오타도 나올 수 있고, 모르고 생략하고 입력할 수도 있입니다. 문제의 경우는 - 이 7번째에 입력되고 이후에 7자리가 입력되게 하는 등 입력 조건을 좀더 자세히 지정했다고 보면 됩니다.
instr는 지정한 문자가 몇번째에 있는지 위치값을 반환합니다. instr([주민등록번호],"-")의 결과값이 7이 나왔다는 것은 7번째에 -가 입력되어 있음을 의미합니다.
즐거운 하루 되세요.
-
*2016-10-07 11:18:50
안녕하세요.
데이터가 모두 정확히 입력된다면 님과 같이 할 수도 있습니다. 하지만 입력하다보면 오타도 나올 수 있고, 모르고 생략하고 입력할 수도 있입니다. 문제의 경우는 - 이 7번째에 입력되고 이후에 7자리가 입력되게 하는 등 입력 조건을 좀더 자세히 지정했다고 보면 됩니다.
instr는 지정한 문자가 몇번째에 있는지 위치값을 반환합니다. instr([주민등록번호],"-")의 결과값이 7이 나왔다는 것은 7번째에 -가 입력되어 있음을 의미합니다.
즐거운 하루 되세요.