[Oracle] 문자열에서 한글만 추출 방법 (정규식)

오라클에서 칼럼의 문자열에서 한글이 아닌 문자를 제거하고 한글만 추출해야 하는 경우가 있다. 문자열에서 한글만 추출할 때는 정규식 함수를 사용하면 쉽게 해결된다. 오라클에서 정규식 함수는 대부분 10g 이상의 버전에서 사용 가능하니 이점에 유의하여 아래의 기본적인 예제를 참고하여 활용하면 된다.

 

목차
  1. 문자열에서 한글만 추출 방법
  2. 문자열에 한글이 포함된 데이터만 조회 방법

 

문자열에서 한글만 추출 방법

WITH temp AS (
    SELECT '오라클 데이터베이스 21c' AS ora_nm FROM dual UNION ALL
    SELECT 'Oracle Database 21c' AS ora_nm FROM dual UNION ALL
    SELECT 'Oracle 21c (오라클)' AS ora_nm FROM dual
)

SELECT ora_nm
     , REGEXP_REPLACE(ora_nm, '[^가-힝]') AS kor_nm
  FROM temp

 

 

REGEXP_REPLACE 함수를 사용하여 한글이 아닌 문자는 모두 제거하고 한글만 반환한다.

 

REGEXP_REPLACE (문자열, 정규 표현식, 치환 값)

치환 값을 부여하지 않으면 정규 표현식에 해당하는 문자열이 제거된다.

 

[가-힝] : 한글

[^가-힝] : 한글이 아닌 것

 

문자열에 한글이 포함된 데이터만 조회 방법

WITH temp AS (
    SELECT '오라클 데이터베이스 21c' AS ora_nm FROM dual UNION ALL
    SELECT 'Oracle Database 21c' AS ora_nm FROM dual UNION ALL
    SELECT 'Oracle 21c (오라클)' AS ora_nm FROM dual
)

SELECT ora_nm
  FROM temp
 WHERE REGEXP_LIKE(ora_nm, '[가-힝]'

 

 

REGEXP_LIKE 함수를 사용하여 한글이 포함된 칼럼의 값만 조회한다.

 

댓글

Designed by JB FACTORY