티스토리 뷰
문자열 나누기, 구분자로 자르기 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)
'Data > SQL' 카테고리의 다른 글
[SQL/redash] SAS에서 SQL사용 시 함수/문법 (PROC SQL) (0) | 2022.04.22 |
---|---|
[SQL] where 조건 결과없으면 테이블 전체조회, 결과있으면 조건 조회 (0) | 2022.04.20 |
- Total
- Today
- Yesterday
- SQL
- 구글애널리틱스_추적코드심기
- redash
- instr함수
- 구글애널리틱스
- 오라클함수
- substr함수
- GoogleAnalytics
- redash대시보드
- GA
- 오라클
- 구글애널리틱스_추적코드
- oracle
- redash시각화
- 리대시대시보드
- redash #
- 리대시
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |