반응형
⚡️문자열 자르기
📌 SUBSTR(컬럼명, 시작 위치, 문자 개수)
문자열에서 원하는 문자만 추출 하고 싶을 때 사용한다.
주민등록번호에서 성별을 구분하려 할 때 7번 째 숫자가 필요하다.
주민등록번호 컬럼 jumin, 시작 위치에는 7, 원하는 문자 개수는 1개이니 1을 넣어준다.
select name, substr(jumin, 7, 1) "주민등록번호 7번째"
from student;
⚡️원하는 문자의 위치 구하기
📌 INSTR(컬럼, '문자')
컬럼에서 찾고 싶은 문자의 위치를 알려주는 함수이다.
STUDENT 테이블의 전화번호 컬럼이다.
만약 지역번호를 구하고 싶으면 ) 이전까지의 숫자를 구해야 될 것이다.
문제는 지역번호의 숫자가 3자리로 통일되지 않는다는 것이다.
우선 각 학생별 괄호의 위치를 알아보자.
select name, tel, instr(tel, ')')
from student;
instr로 문자의 자리를 구하는 것을 알았으니 문자 추출은 substr 함수와 함께 이용한다.
select name, tel, substr(tel, 1, instr(tel, ')')-1) 지역번호
from student;
substr 함수의 마지막 부분에 instr 함수를 이용해 원하는 만큼 문자열을 잘라내 보았다.
그리고 만약 원하는 문자의 2번째 위치를 알고 싶다면 순번의 값을 하나 더 넣어주면 된다.
select name, tel, instr(tel, 0, 2)
from student
order by 3 desc;
반응형
'Database > SQL' 카테고리의 다른 글
[Oracle/SQL] 시퀸스(Sequence)와 초기화하는 방법 (0) | 2022.02.21 |
---|---|
[Oracle/SQL] DECODE, CASE 조건문 (0) | 2021.12.09 |
[Oracle, SQL] NULL 제거하기 (0) | 2021.12.03 |
[Oracle, SQL] SELECT 문자 검색 (0) | 2021.12.02 |
[Oracle, SQL] SELECT 기본 문법, 컬럼 이름 변경, 컬럼 리터럴 추가 (0) | 2021.12.01 |
댓글