티스토리 뷰

문자열 나누기, 구분자로 자르기 split 기능 (substr, instr 함수 이용)

 

 

■활용 예시

- 주소에서 지역정보 혹은 중간에 동/읍/면 등의 정보만을 가져올 때 사용

- 메일주소에서 id(계정)과 domain을 나눌 때 사용

 

▶substr 함수

  > substr(칼럼명, 시작위치, 갯수)

    e.g. substr(ADDR,1,2) = ADDR칼럼에서 1번째부터(포함) 2개의 문자 가져오기

          substr(ADDR,3,4) = ADDR칼럼에서 3번째부터(포함) 4개의 문자 가져오기

 

▶ instr 함수

  > instr(칼럼명, 구분자, 시작위치, 구분자 순서)

  > 칼럼명의 앞에서 '시작위치'부터, '구분자 순서'번째로 구분자가 오는 위치값

    e.g. instr(ADDR,' ',1,1) = ADDR칼럼에서 앞에서 1번째부터 봤을 때, ' '(띄어쓰기) 구분자가 1번째로 나오는 위치값

        instr(ADDR,' ',1,2) = ADDR칼럼에서 앞에서 1번째부터 봤을 때, ' '(띄어쓰기) 구분자가 2번째로 나오는 위치값

        instr(ADDR,' ',-1,1) = ADDR칼럼에서 뒤에서 1번째부터 봤을 때, ' '(띄어쓰기) 구분자가 2번째로 나오는 위치값

 

 

 

■ 활용예시 : substr+instr 을 이용한 구분자 자르기

 

예시1) 주소에서 지역정보 혹은 중간에 동/읍/면 등의 정보만을 가져올 때 사용

'서울특별시★강남구★대치동' 이라는 데이터를 가진 addr 칼럼이 있다고 가정.

 

예시1-1) 주소에서 '시(city)' 정보만 가져오기

substr(addr,1,instr(addr,'★',1,1)-1)

 

예시1-2) 주소에서 '구' 정보만 가져오기

substr(addr,1,substr(addr,instr(addr,'★',1,1)+1,instr(addr,'★',1,2)-instr(addr,'★',1,1)-1)

 

 

예시2) 메일주소에서 id(계정)과 domain을 나눌 때 사용

'abc@naver.com' 이라는 데이터를 가진 email 칼럼이 있다고 가정.

 

예시2-1) 메일주소에서 id(계정)만 가져올 때 (예시에서 abc 만 추출 시)

substr(email,1,instr(email,'@',1,1)-1)

 

예시2-2) 메일주소에서 domain만 가져올 때 (예시에서 naver.com 만 추출 시)

substr(email,instr(email,'@',1,1)+1)

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함