문제
다음 중 쿼리에서 사용하는 문자열 조건에 대한 설명으로 옳지 않은 것은?
① "수학" or "영어" : "수학" 이나 "영어" 인 레코드를 찾는다. ② LIKE "서울*" : "서울"이라는 문자열로 시작하는 필드를 찾는다. ③ LIKE "신림" : 문자열의 두번째가 "신"이고 세번째가 "림"인 문자열을 찾는다. ④ NOT "전산과" : 문자열의 값이 "전산과"가 아닌 문자 열을 찾는다.
정답
3번
해설
정답: 3. LIKE "*신림*"에서 *는 임의의 0개 이상 문자를 의미하므로, 위치에 상관없이 '신림'을 포함하는 모든 문자열을 찾는다. '두 번째가 신, 세 번째가 림'처럼 위치를 한정하지 않으므로 옳지 않다.
오답 풀이
- 1번:
"수학" or "영어"는 둘 중 하나에 해당하는 레코드를 찾으므로 옳다. - 2번:
LIKE "서울*"은 '서울'로 시작하는 값을 찾으므로 옳다. - 3번:
*는 임의 개수의 문자라 위치를 한정하지 않으므로 '두 번째·세 번째' 한정은 옳지 않다. - 4번:
NOT "전산과"는 '전산과'가 아닌 값을 찾으므로 옳다.
보충 개념
Access 와일드카드: *(임의의 문자 0개 이상), ?(임의의 한 문자), #(임의의 한 숫자). '두 번째 문자가 신'을 한정하려면 LIKE "?신림*"처럼 ?를 사용한다.