INSTR
Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨 — 27개 중 8번째.
INSTR(haystack, needle)은(는) haystack 내에서 needle의 1부터 시작하는 위치를 반환하며, 존재하지 않으면 0을 반환합니다.
INSTR('alice@example.com', '@') -- 6
INSTR('hello', 'z') -- 0SUBSTR과 결합하여 구분자를 기준으로 문자열을 분할할 수 있습니다. 이메일에서 @ 앞부분을 추출하려면 다음과 같이 합니다:
SUBSTR(email, 1, INSTR(email, '@') - 1)즉, 이메일의 1번 위치부터 시작하여 @ 기호 앞에 있는 문자 수만큼 가져오라는 의미입니다.
챌린지
쉬움사용 가능한 테이블과 컬럼:
<strong>signups</strong>:<strong>id</strong>,<strong>email</strong>
id와 각 이메일의 domain(@ 뒤의 모든 내용)을 domain으로 반환하세요. 모든 이메일에는 정확히 하나의 @가 포함되어 있다고 가정합니다. id를 기준으로 정렬하세요.
치트 시트
INSTR(haystack, needle)는 haystack에서 needle이 처음 나타나는 1부터 시작하는 위치를 반환하며, 찾지 못하면 0을 반환합니다:
INSTR('alice@example.com', '@') -- 6
INSTR('hello', 'z') -- 0구분자를 기준으로 문자열을 분리하려면 SUBSTR과 함께 사용하세요:
-- '@' 이전 부분
SUBSTR(email, 1, INSTR(email, '@') - 1)
-- '@' 이후 부분
SUBSTR(email, INSTR(email, '@') + 1)직접 해보기
SELECT id,
-- '@' 뒤의 모든 것
FROM signups
ORDER BY id
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.