아하
  • 토픽

  • 스파링

  • 잉크

  • 미션


탈퇴한 사용자

탈퇴한 사용자

SQL 특정 문자 제거한 데이터에 검색하는 방법 질문드립니다.

select REGEXP_REPLACE(contentA, '<(/)?(img|label|table|thead|tbody|tfoot|tr|td|p|div|span|font|strong|b)(.|\s|\t|\n|\r\n)*?>', '') as contentA from AAA

위처럼 html 태그를 제거한 결과 값에 like를 사용하여 재검색할 수 있을까요?

    1개의 답변이 있어요!

    • 시크한펭귄23

      시크한펭귄23

      안녕하세요.

      3가지 정도로 답변드리겠습니다. 질문에 도움이 되었으면 합니다.

      1. WHERE 절에 바로 like 검색 합니다.(성능에 문제가 있을수 있습니다. 아시겠지만 조건절 왼쪽에 연산이 들어가면 해당 컬럼의 인덱스를 사용할수 없습니다.)

        예) select *

        from aaa

        where regexp_replace(contentA,'html문자제거') like '찾는문자%'

      2. WITH 문으로 임시테이블 생성 입니다.

        예) WITH tempTable AS(

        select aaa.*

        , regexp_replace(contentA,'html문자제거') bb

        from aaa

        )

        select * from tempTable where bb like '찾는문자%'

      3. 뷰테이블을 만들고 뷰테이블에서 을 사용 하는 방법 입니다.

        (뷰테이블이 성능에는 가장 좋을수 있습니다.)