[oracle]오라클 정규식 REGEXP_LIKE
REGEXP_LIKE 함수 실습
현재 테이블의 전체 데이터
SELECT * FROM TEST
특정 문자나 숫자를 포함하는 결과 출력하기
SELECT * FROM TEST WHERE regexp_like(text, '[a-z][0-9]');
[a-z], [0-9]는 소문자 전체와 0부터9까지의 숫자를 나타냅니다.
SELECT * FROM TEST WHERE regexp_like(text, '[a-z] [0-9]');
[a-z]와[0-9]사이에 공백이 있는 것이 보이시죠? 이렇게 공백도 구분값으로 사용할 수 있습니다.
공백이 여러개일경우찾기
SELECT * FROM TEST WHERE regexp_like(text, '[a-z]?[0-9]');
SELECT * FROM TEST WHERE regexp_like(text, '[a-z]*[0-9]');
[a-z]?[0-9]와 [a-z]*[0-9] 이 뜻은 공백이 여러개 포함한다는 뜻 입니다.
SELECT * FROM TEST WHERE regexp_like(text, '*[0-9]');
숫자를포함한 모든 문자를 select 합니다.
SELECT * FROM TEST WHERE regexp_like(text, '*[a-z]');
소문자 영어 를 포함한 모든 문자를 select 합니다.
연속적인 글자 수 찾기
SELECT * FROM TEST WHERE regexp_like(text, '[A-Z]{3}');
대문자 영어가 연속으로 3자리 있는 행을 출력합니다.
SELECT * FROM TEST WHERE regexp_like(text, '[0-9]{3}');
숫자가 연속으로 3자리 있는 행을 출력합니다.
영어 대문자, 숫자 대분자 모두 3개 이상
SELECT * FROM TEST WHERE regexp_like(text, '[A-Z][0-9]{3}');
숫자로 시작되는 행
SELECT * FROM TEST WHERE regexp_like(text, '^[0-9]');
소문자나 숫자로 시작하는 행
SELECT * FROM TEST WHERE regexp_like(text, '^[a-z]|^[0-9]');
소문자로끝나는행
SELECT * FROM TEST WHERE regexp_like(text, '[a-z]$');
숫자로시작하지 않는 행
SELECT * FROM TEST WHERE regexp_like(text, '^[^0-9]');
‘A’나 1을 포함하고 있는행
SELECT * FROM TEST WHERE regexp_like(text, 'A|1');
포함하지 않는 행을 할 시에는
SELECT * FROM TEST WHERE NOT regexp_like(text, 'A|1’); not을 붙인다
'?' 문자가 들어가는행
SELECT * FROM TEST WHERE regexp_like(text, '\?');
'개발 > DB' 카테고리의 다른 글
[oracle]오라클 grouping, grouping_id 설명 및 예제 (0) | 2016.05.23 |
---|---|
[oracle]오라클 group by, rollup (4) | 2016.05.20 |
[oracle]오라클 함수(function) 생성 및 실행 (4) | 2016.05.18 |
[oracle] 정규식 REGEXP_REPLACE 함수 (6) | 2016.05.04 |
[oracle]오라클 ibatis iterate conjunction (0) | 2016.05.01 |
[oracle]오라클 최대값의 다른 컬럼 구하기 (0) | 2016.04.25 |
[oracle] 정규식REGEXP_INSTR 함수 (0) | 2016.04.09 |