반응형
REGEXP_LIKE와 REGEXP_REPLACE 함수를 써서 정규식을 활용한 판별을 진행
1.정규식
[0-9] 숫자, [^0-9] 숫자 외의 것
[가-힣] 한글, [^가-힣] 한글 외의 것
[A-Z] 영어대문자, [^A-Z] 영어대문자 외의 것 (소문자도있음)
2.WHERE 절에서 REGEXP_LIKE 사용
⊙ 기본 LIKE 문처럼 정규식에 포함된 문자 하나라도 있으면 조회된다.
⊙ NOT을 사용하면 해당 문자가 포함되지않은 데이터가 조회된다
⊙ ^정규식에 NOT을 사용하여 해당 문자가 아닌 모든것을 제외하므로써 해당 문자만 포함되어있는 데이터만 조회된다
EX)
WHERE REGEXP_LIKE(컬럼, '[0-9]') --데이터에 숫자가 하나라도 포함되면 조회
WHERE REGEXP_LIKE(컬럼, '[^0-9]') --데이터에 숫자가 아닌 것이 하나라도 포함되면 조회
WHERE NOT REGEXP_LIKE(컬럼, '[0-9]') --데이터에 숫자가 하나라도 포함되면 제외: 숫자 없는 데이터
WHERE NOT REGEXP_LIKE(컬럼, '[^0-9]') --데이터에 숫자가 아닌 것이 하나라도 포함되면 제외: 숫자
3. SELECT 절에서 REGEXP_REPLACE 사용
⊙ 해당 정규식에 해당하는 데이터를 제외하고 데이터를 조회한다.
⊙ [0-9]를 넣으면 데이터에서 숫자를 지우고 보여준다.
⊙ [^0-9]를 넣으면 반대로 데이터 속 숫자만 보여준다.
EX)
SELECT REGEXP_REPLACE(컬럼, '[0-9]') --문자만 추출
SELECT REGEXP_REPLACE(컬럼, '[^0-9]') --숫자만 추출
반응형
'DB > Oracle' 카테고리의 다른 글
테이블 LOCK (1) | 2024.04.16 |
---|---|
오라클 인덱스관리 (0) | 2024.03.22 |
오라클 현재 실행중인 쿼리확인 (0) | 2024.03.22 |
오라클 삭제한 데이터 복구 (0) | 2024.03.22 |
오라클 업데이트(update) 서브쿼리문 (0) | 2024.03.22 |