사용자 도구

사이트 도구


dbms:oracle:devel:regexp:regexp_substr

문서의 이전 판입니다!


REGEXP_SUBSTR

정의

  1. 오라클 정규표현식의 일종.

숫자/문자 분리

  1. 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
  2. 결과값
    STUDYUNITCODE	TAPE	SIDE
    
    01A	        1	A
    10B	       10	B
    12A      	12	A
    02B     	 2	B
    23A     	23	A
    30B     	30	B

페이지정보 찾기

  1. 페이지정보에서 첫페이지를 찾아서 알려준다.
    SELECT SOURCE, REPLACE(REGEXP_SUBSTR(SOURCE,\'p[[:digit:]]{1,3}\'),\'p\',\'\') PAGE
    FROM QUESTION WHERE ROWNUM < 10;
  2. 결과값
    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

주소문자열 자르기

  1. 전체 주소에서 시도,등의 문자열을 나누어 보여준다.
    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 ;
  2. 결과값
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 · 마지막으로 수정됨: 2016/06/12 01:54 저자 starlits