SQL의 INSTR
함수를 사용하여 문자열 내 특정 문자가 나타나는 위치를 찾는 방법과, 그 위치를 기반으로 부분 문자열을 추출하는 방법을 설명하고 있습니다. INSTR
함수는 텍스트 데이터 처리에 매우 유용하며, 특히 이메일 주소 등에서 특정 문자열을 찾을 때 자주 사용됩니다.
SQL에서 특정 문자 위치 찾기: INSTR
함수
핵심 원리: 문자열 내 위치 찾기
INSTR
함수는 주어진 문자열에서 특정 문자가 처음 나타나는 위치를 반환합니다. 예를 들어, INSTR('SMITH', 'M')
는 ‘M’이 ‘SMITH’에서 두 번째 위치에 있으므로, 2를 반환합니다.
기본 예제:
SELECT INSTR('SMITH', 'M') AS position
FROM dual;
이 쿼리는 문자열 ‘SMITH’에서 ‘M’이 나타나는 위치를 반환합니다. 결과는 2입니다.
응용 원리: 이메일 주소에서 도메인 추출
INSTR
함수와 SUBSTR
함수를 조합하여 이메일 주소에서 특정 문자를 기준으로 부분 문자열을 추출할 수 있습니다. 예를 들어, 이메일 주소에서 ‘@’ 이후의 도메인 이름을 추출할 수 있습니다.
예제:
SELECT SUBSTR('abcdefg@naver.com', INSTR('abcdefg@naver.com', '@') + 1) AS domain
FROM dual;
이 쿼리는 이메일 주소 ‘abcdefg@naver.com’에서 ‘@’ 이후의 문자열인 ‘naver.com’을 추출하여 반환합니다.
연습 문제 및 해답
- 문제: 이메일 주소에서 ‘@’ 기호 이전의 사용자 이름을 추출하시오.
- 해답:
sql SELECT SUBSTR('abcdefg@naver.com', 1, INSTR('abcdefg@naver.com', '@') - 1) AS username FROM dual;