SUBSTR - 문자열 자르기
SUBSTR(문자열, 시작위치, 추출위치)
- 시작 위치가 음수일 경우 : 마지막 위치부터 거슬러 올라간 위치에서 시작한다.
- 추출 길이를 생략 : 시작 위치부터 문자열 끝까지 반환한다.
SUBSTR('대한호랑이', 1, 2)
-- 결과 : 대한
SUBSTR('대한호랑이', -1, 2)
-- 결과 : 이
SUBSTR('대한호랑이', 3)
-- 결과 : 호랑이
SUBSTR('대한호랑이', -3, 3)
-- 결과 : 호랑이
- SUBSTR('대한호랑이', -1, 2) :
시작 위치가 음수이기 때문에, 뒤에서 첫 번째 글자부터 두 글자 출력
→이 (더 이상 문자가 없기에 '이'만 출력)
INSTR - 특정 문자 위치 값 찾기
INSTR(문자열, 찾을문자, 시작위치, 찾을 순번)
문자열의 시작위치부터 찾으려는 문자의 위치를 반환하는 함수
- 시작위치가 음수일 경우 : 문자열의 오른쪽 끝부터 왼쪽 방향으로 검색한다.
- 찾을순번 : 찾으려는 문자가 시작 위치에서 몇 번 째인지를 지정한다.
INSTR('HELLO WORLD', 'L');
-- 결과 : 3
INSTR('HELLO WORLD', 'L', 5);
-- 결과 : 10
INSTR('HELLO WORLD', 'L', 2, 2);
--결과 : 4
INSTR('HELLO WORLD', 'L', -3, 2);
--결과 : 3
- 문자 처음부터 검색해 'L'의 위치 반환
- 다섯 번째 문자 O부터 검색해 문자 'L'의 위치 반환
- 두 번째 문자 'E'부터 검색해 두 번째 'L'의 위치 반환
- 문자열을 뒤에서부터 세 번째 글자 'R'부터 앞쪽으로 검색해 두 번째에 있는 'L' 반환
특정 문자를 기준으로 문자를 자르기
SUBSTR과 INSTR을 사용
SUBSTR('HELLO, WORLD!', 0, INSTR('HELLO, WORLD!', ',')-1)
--결과 : HELLO
REPLACE - 문자열 치환
REPLACE(문자열, 바꿀문자열, 바뀔문자열)
replace 함수는 문자열에서 바꿀 문자열을 찾아 바뀔 문자열로 바꿔주는 함수
REPLACE('내가 그린 기린 그림 기린' , '기린', '호랑이')
-- 결과 : 내가 그린 호랑이 그림 호랑이
TRANSLATE - 문자열 한글자씩 치환
TRANSLATE(문자열, 바꿀문자열, 바뀔문자열)
REPLACE('내가 그린 기린 그림 기린', '기린', '사자')
-- 결과 : 내가 그린 사자 그림 사자
TRANSLATE('내가 그린 기린 그림 기린', '기린', '사자')
-- 결과 : 내가 그자 사자 그림 사자
TRANSLATE는 REPLACE와 달리 문자열 단위로 치환을 하지 않고 문자를 한 글자씩 매핑해 치환한다.
CONCAT - 두 문자열 합치기
CONCAT(문자열1, 문자열2)
두 문자열을 하나의 데이터로 연결하는 함수
CONCAT('대한', CONCAT('민국', '호랑이'))
--결과 : 대한민국호랑이
문자열을 연결하는 ||연산자도 CONCAT함수와 유사하게 사용할 수 있다.
[Oracle] 오라클 문자열 치환 (REPLACE, TRANSLATE) 사용법 & 예제 (tistory.com)
[ORACLE] 문자열 관련 함수 정리 (2) - SUBSTR, INSTR, REPLACE, CONCAT (tistory.com)
'DataBase > Oracle' 카테고리의 다른 글
[Oracle] 자릿수 채우기, 공백 채우기 - LPAD, RPAD (0) | 2022.11.20 |
---|---|
[Oracle] 조회 순번 매기기 - ROWNUM, ROW_NUMBER() (0) | 2022.11.20 |
[Oracle] NULL값을 치환해주는 함수 - NVL, NVL2, NULLIF (0) | 2022.11.20 |
[Oracle] Pro*C - 간단정리 (0) | 2022.10.10 |
[Oracle] DML과 DECODE, CASE (0) | 2022.06.29 |