본문 바로가기
오라클 게시판/오라클(Oracle)

정규식 REGEXP_LIKE 함수 사용하기(Oracle 10g)

by 기서무나구물 2018. 10. 30.

포스팅 목차

    Programming Category (English)728x90

    * 오라클에서 문자 포함된 관측치 선택 및 제거;

    * 입력설계 문제로 고객명에 이상한 값들이 들어가서 그 변수 처리 방법을 찾다가 oracle 10g에 새로운 정규식 함수가 있네요

    * 한글인 경우 처리가 좀 애매모호한데 정확한 값을 찾지 못해서 일단 '황' '힛'을 넣었습니다.

    * 코드변환을 해서 한글을 찾아야 할듯 함.

    SELECT REGEXP_instr(CUST_NM,'[a-z]|[A-Z]'),  -- 영문자 위치 반환
           a.*
    FROM   customer.tza011 a
    WHERE  1=1
      and  REGEXP_LIKE(CUST_NM, '[^[:digit:]]')           -- 첫글자가  문자
      and  NOT REGEXP_LIKE(CUST_NM,'[a-z]|[A-Z]')   -- 영문자 제외
      and  NOT REGEXP_LIKE(CUST_NM,'[0-9]|[@/.;*^,★☆#!]|[?]|[-]|[ㄱ-ㅎ]|[ㅏ-ㅣ]')  -- 특수문자제회
      --and   REGEXP_LIKE(CUST_NM, '.*가.*|.*나.*|.*다.*');   -- 가 나다 포함
      and  NOT REGEXP_LIKE(CUST_NM,'[가-황]')                 -- 한글제외1
      and  NOT REGEXP_LIKE(CUST_NM, '[가-힛].*' )             -- 한글제외2
      and  NOT REGEXP_LIKE(CUST_NM, '[A-Z]|[?@/.히]' )      --특수문자 제외
    
      and  NOT REGEXP_LIKE(CUST_NM,'[ㄱ-ㅎ]')                -- 자음 포함된 관측치 제외
      AND  NOT REGEXP_LIKE(CUST_NM,'^[a-z]|[A-Z]');          -- 첫글자가 영문자인경우 제외

     

    [ 통계분석연구회 ] http://cafe.daum.net/statsas

     

     

     

     

    반응형

    댓글