1. 특수문자 제거
SELECT REGEXP_REPLACE('Abcde/2019', '[[:punct:]]') AS Chg FROM DUAL;
=> Abcde2019
2. 날짜 치환
3. 문자 위치 찾기
- @ 위치 찾기(숫자 반환)
SELECT INSTR('ABC1234defg!@#','@',1,1) AS Search FROM DUAL;
=> 13
SELECT INSTR('ABC@1234@defg!@#','@',1,1) AS Search FROM DUAL;
: @의 1번째 위치를 찾는다.
=> 4
SELECT INSTR('ABC@1234@defg!@#','@',1,2) AS Search FROM DUAL;
: @의 2번째 위치를 찾는다.
=> 9
4. 문자 자르기(위치로 자르기)
SELECT SUBSTR('20191212',1,4) AS cut FROM DUAL;
=>2019
* 응용1 : 특정 문자 위치를 찾은 숫자반환으로 위치 자르기
SELECT SUBSTR('20191212>AAA>BCCC>',1,INSTR('20191212>AAA>BCCC>','>',1,2)) CUT_CHK FROM DUAL
: INSTR('20191212>AAA>BCCC>','>',1,2) 위치는 13. 즉, SUBSTR('20191212>AAA>BCCC>',1,13) 과 같은 의미
=> 20191212>AAA>
* 응용2 : 찾은 위치-1(> 찾은 위치-1)
SELECT SUBSTR('20191212>AAA>BCCC>',1,INSTR('20191212>AAA>BCCC>','>',1,2)-1) CUT_CHK FROM DUAL
: INSTR('20191212>AAA>BCCC>','>',1,2)-1 위치는 12. 즉, SUBSTR('20191212>AAA>BCCC>',1,12) 과 같은 의미
=> 20191212>AAA
'IT(job) > DB' 카테고리의 다른 글
Oracle(Tool)에서 & 입력/조회하기 (0) | 2020.02.18 |
---|---|
[Oracle] Connect By... (0) | 2020.02.14 |
[Oracle] For문 Loop 입력하기 (0) | 2019.12.02 |
[Oracle] Table Copy 기존 테이블을 이용한 응용 (0) | 2019.11.26 |
[Oracle] Order by (0) | 2019.09.20 |