posted by 지긋이 2019. 12. 12. 09:11

 

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