티스토리 뷰
regexp_like 함수
【형식】
regexp_like (search_string, pattern [,match_option])
【예제】
SQL> select * from test;
ID NAME EMAIL
---------- ---------- ------------------------------
1 한라산 hanlasan@abc.co.kr
2 백두산 backdusan@abc.co.kr
3 금강산 gumgangsan@abc.co.kr
SQL> select * from test
2 where regexp_like(name, '^[한백]'); ☜ name 필드에서 한 또는 백자로 시작하는 레코드를 찾는다.
ID NAME EMAIL
---------- ---------- ------------------------------
1 한라산 hanlasan@abc.co.kr
2 백두산 backdusan@abc.co.kr
SQL> select * from test
2 where regexp_like(name,'강산$'); ☜ name 필드에서 강산자로 끝나는 레코드를 찾는다.
ID NAME EMAIL
---------- ---------- ------------------------------
3 금강산 gumgangsan@abc.co.kr
SQL> where REGEXP_LIKE('ABCDEFGH','CD') -- 조건에 포함되는 재료추출
regexp_substr 함수
문자열에 존재하는 임의의 패턴을 추출하여 출력한다.
【형식】
REGEXP_SUBSTR (source_char, pattern
[, position
[, occurrence
[, match_param
[subxpr]]]])
source_char | 찾을 문자로 데이터타입은 :CHAR, VARCHAR2, NCHAR, NVARCHAR2, CLOB, NCLOB임 |
pattern | 512바이트까지의 정규표현식으로 데이터타입이 source_char과 다르면 pattern의 데이터타입을 source_char과 같게 변환 |
position | 찾을 문자의 위치로 디폴트는 1이며, 이는 첫 글자부터 찾는 다는 의미 |
occurrence | source_char에 pattern이 발생한 횟수로 디폴트는 1임 |
match_parameter | 디폴트 매칭을 변경할 때 사용 |
subexpr | 0∼9의 정수로 subexpression의 위치를 나타내며, 0은 pattern과 substring이 완전히 일치함을 의미 |
【예제】 SQL> select * from test; ID NAME EMAIL ---------- -------------------- ------------------------------ 1 Hello1234 hello@abc.c.kr 2 you3456 you@abc.co.kr SQL> select email, regexp_substr(email, '[^@]+') ID from test; EMAIL ID -------------------- -------------- hello@abc.c.kr hello you@abc.co.kr you SQL> 문자열 중에서 @ 이전의 문자만 출력하는 예제이다.
【예제】 SQL> select REGEXP_SUBSTR('500 Oracle Parkway, Redwood Shores, CA', 2 ',[^,]+,') "REGEXP_SUBSTR" 3 from dual; REGEXP_SUBSTR ---------------------------------- , Redwood Shores, SQL> select REGEXP_SUBSTR('http://www.oracle.com/products', 2 'http://([[:alnum:]]+\.?){3,4}/?') 3 "REGEXP_SUBSTR" 4 from dual; REGEXP_SUBSTR -------------------------------------------- http://www.oracle.com/ SQL> select REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))',1,1,'i',1) 2 "REGEXP_SUBSTR" 3 from dual; ☜ 첫 번째 subexpression REGEXP ------ 123 SQL> select REGEXP_SUBSTR('1234567890', '(123)(4(56)(78))',1,1,'i',4) 2 "REGEXP_SUBSTR" 3 from dual; ☜ 4번째 subexpression REGE ---- 78 SQL>
참조 : http://bugcaps.springnote.com/pages/10827864.xhtml
'Database' 카테고리의 다른 글
[ORACLE]이메일 도메인 걸러내기 (0) | 2012.11.22 |
---|---|
[ORACLE]전월 1일, 말일 (0) | 2012.11.22 |
[ORACLE]나이구하기쿼리 (0) | 2012.11.09 |
[ORACLE]데이터 페이징 처리방법(게시판) (0) | 2012.10.11 |
[ORACLE]SELECT INSERT 속도개선, nologging (0) | 2012.09.05 |
- Total
- Today
- Yesterday
- 테이블
- 자동차
- delete
- table
- 윈도우
- user
- Linux
- Windows
- sql
- select
- 데이터
- server
- 파일
- tomcat
- 서버
- eclipse
- Shell
- java
- DB
- mssql
- IP
- 오라클
- Oracle
- 설정
- Toad
- 백업
- DATABASE
- 리눅스
- apache
- MySQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |