dbms:oracle:devel:regexp:regexp_substr
문서의 이전 판입니다!
REGEXP_SUBSTR
정의
- 오라클 정규표현식의 일종.
숫자/문자 분리
- STUDYUNITCODE를 숫자와 문자를 분리하여 나타낸다. (맨 앞에 0은 삭제한다.)
SELECT STUDYUNITCODE, REGEXP_SUBSTR(REGEXP_REPLACE(STUDYUNITCODE,\'^0\',\'\'),\'[[:digit:]]{1,2}\') TAPE, REGEXP_SUBSTR(STUDYUNITCODE,\'[[:alpha:]]{1}\') SIDE FROM TB_STUDYUNIT ORDER BY KWON,STUDYUNITCODE - 결과값
STUDYUNITCODE TAPE SIDE 01A 1 A 10B 10 B 12A 12 A 02B 2 B 23A 23 A 30B 30 B
페이지정보 찾기
- 페이지정보에서 첫페이지를 찾아서 알려준다.
SELECT SOURCE, REPLACE(REGEXP_SUBSTR(SOURCE,\'p[[:digit:]]{1,3}\'),\'p\',\'\') PAGE FROM QUESTION WHERE ROWNUM < 10;
- 결과값
SOURCE PAGE b1: p24 24 b1: p19, 24, 32, 46 19 b3: p5 5 b3: p29 29 b3: p10-11 10 b2: p22 22 b1: p20 b2: p15 b4: p40 20 b2: p8-9, 30 8 b3: p16-17 16
주소문자열 자르기
- 전체 주소에서 시도,등의 문자열을 나누어 보여준다.
SELECT ADDRESS ,REGEXP_SUBSTR(ADDRESS,\'[^ ]+\') AS SIDO ,REPLACE(REGEXP_SUBSTR(ADDRESS,\' +[^ ]+\'),\' \',\'\') as GUGUN ,REPLACE(ADDRESS,REGEXP_SUBSTR(ADDRESS,\'[^ ]+\')||REGEXP_SUBSTR(ADDRESS,\' +[^ ]+\')||\' \',\'\') AS etc ,REGEXP_SUBSTR(ADDRESS,\'[^ ]+(.)$\') FROM DV_ADDRESS_TEMP ;
- 결과값
| address | sido | gugun | remain | etc |
|---|---|---|---|---|
| 충남 청양군 청양읍 읍내리 175-21 | 충남 | 청양군 | 청양읍 읍내리 175-21 | 175-21 |
| 충남 청양군 읍내리 209-3 | 충남 | 청양군 | 읍내리 209-3 | 209-3 |
| 충남 태안군 태안읍 동문리 529-2 | 충남 | 태안군 | 태안읍 동문리 529-2 | 529-2 |
| 충남 태안군 태안읍 동문리 879-3 | 충남 | 태안군 | 태안읍 동문리 879-3 | 879-3 |
dbms/oracle/devel/regexp/regexp_substr.1465664071.txt.gz · 마지막으로 수정됨: 저자 starlits
