[SQL] 문자함수 INSTR

·2025년 7월 2일
0

SQL

목록 보기
35/126

🔸INSTR 함수

컬럼의 데이터에서 특정 철자의 자리번호를 출력하는 함수

예제 답

select instr('SMITH', 'M')
 from dual;

문제1. emp21 테이블에서 이메일을 출력하고 그 옆에 이메일에서 @ 의 자리번호를 출력하시오!

select email, instr(email, '@')
 from emp21;

문제2. 이메일을 잘못 입력한 학생들의 데이터를 바로 찾기 위한 SQL을 작성하는데 emp21 테이블에서 이메일에 @ 을 사용하지 않은 학생들의 이름과 이메일을 출력하시오

select ename, email
 from emp21
 where instr(email, '@') = 0;

문제3. emp21 테이블에서 이메일이 naver 가 아니고 나이가 20대인 학생들의 이름과 나이와 이메일을 출력하시오

select ename, age, email
 from emp21
 where instr(email, 'naver') = 0
    and age like '2%';
    
-- 또는

select ename, age, email
 from  emp21
 where lower(email) not like '%naver%' 
 	and age between 20 and 29;

(고수 SQL1) emp21 테이블에 이름, 이메일과 이메일의 도메인을 출력하시오

select ename, email, substr(email, -9, 5) domain
 from emp21;
 
-- 또는

select email, substr(email, instr(email, '@')+1, instr(email, '.')-instr(email, '@')-1 ) domain
 from emp21;

0개의 댓글