문제
다음 중 쿼리 검색 조건의 연산자와 함수 사용에 대한 설명이 옳지 않은 것은?
① YEAR(DATE())는 시스템의 현재 날짜 정보에서 연도값만을 반환한다. ② INSTR("KOREA","R")는 "KOREA"라는 문자열에서 "R"의 위치 3을 반환한다. ③ RIGHT([주민번호],2)="01" 은 [주민번호] 필드에서 맨 앞의 두 자리가 '01'인 레코드를 추출한다. ④ LIKE "[ㄱ-ㄷ]*" 은 'ㄱ'에서 'ㄷ' 사이에 있는 문자로 시작하는 필드 값을 검색한다.
정답
3번
해설
정답: 3. RIGHT([주민번호],2)는 문자열의 오른쪽(맨 뒤) 두 자리를 반환한다. 따라서 "맨 앞의 두 자리"가 아니라 "맨 뒤의 두 자리"가 '01'인 레코드를 추출하는 조건이다.
오답 풀이
- 1번: YEAR(DATE())는 현재 날짜에서 연도만 반환하므로 옳다.
- 2번: INSTR("KOREA","R")는 "R"의 위치인 3을 반환하므로 옳다.
- 3번: RIGHT는 오른쪽(뒤)에서 추출하므로 "맨 앞 두 자리"라는 설명은 틀리다.
- 4번: LIKE "[ㄱ-ㄷ]*"는 ㄱ~ㄷ 범위 문자로 시작하는 값을 찾으므로 옳다.
보충 개념 문자열 함수: LEFT(앞에서 추출), RIGHT(뒤에서 추출), MID(중간 추출), INSTR(위치 찾기), LEN(길이). LIKE의 [a-z]는 범위, *는 임의 길이 문자, ?는 한 문자를 의미한다.