오라클

[Oracle] 다중 LIKE 대신 정규식 REGEXP_LIKE 활용하기

쭈이2잉 2023. 1. 20.

오늘은 오라클에서도 다중 LIKE문으로 많이 쓰이는 REGEXP_LIKE 사용법 관련 포스팅입니다.

 

 

다중 LIKE 문 REGEXP_LIKE

 

다중-LIKE

 

일을 하다보면 쿼리에서 LIKE 문을 쓸 경우가 많습니다.

하지만 한 컬럼에 LIKE 문을 여러 개 걸어야 될 때가 있는데

LIKE와 %를 같이 가지고 있는 문법이 없는지 찾아보다가 제가 찾은 정규식이 있어서 공유합니다.

 

 

사실 일을 하다보면 OR로 계속 쓰는 게 주석처리해서 데이터값 확인할 때도 편해서 저는 이렇게 주로 쓰긴 하지만

그래도 사람이 다양한 방법을 알고 쓰는것과 모르고 쓰는 것은 차이가 있다고 생각합니다.

 

 

다중 LIKE문 예시

 

오라클을 쓰다보면 가끔 한 칼럼에 LIKE를 여러 개 걸어야 하는데

그때 보통

SELECT * 
  FROM aa
 WHERE ( aa.대상컬럼 LIKE 'A1%'
      OR aa.대상컬럼 LIKE 'A2%'
      OR aa.대상컬럼 LIKE 'A3%' 
      OR aa.대상컬럼 LIKE 'A4%'
      );

이런 식으로 OR로 LIKE를 써야 하나라고 나도 모르게 생각하는 경우가 있는데

 

정규식중에 REGEXP_LIKE라는 게

이걸 활용하면 됩니다.

 

 

REGEXP_LIKE  예시

 

REGEXP_LIKE  예시는 

SELECT * 
  FROM aa
 WHERE REGEXP_LIKE(aa.대상컬럼 , 'A1|A2|A3|A4') ;

사용하면 되는데 구분자는 "|"로 두고 단어들을 이어주면 

해당 단어로 시작되는 것들은 다 찾아낼 수 있습니다.

 

 

댓글