'오라클 문자열 검색'에 해당되는 글 1건

  1. 2021.08.18 여러개 검색기능 만들때 DB 쿼리문
2021. 8. 18. 11:00

php 날코딩으로 검색  기능을 만드는데, 

문자열 검색을 해야한다.

예로, 사용자명, 사용자 번호, 두개를 같이 검색해야되고,

인덱스도 없어서.... like 검색을 하려니 너무 느려질거 같다.

 

그  경우, DB에서  like 검색보다는 INSTR 를  사용하는걸 추천한다.

조건절에,  

SELECT * FROM USER 
      WHERE INSTR(UPPER(REPLACE(USER_NM, ' ', '')),  UPPER(REPLACE('검색어',' ', ''))) > 0

INSTR 은 문자열이 포함되었는지 확인하는거고, 

UPPER.  소문자로 입력된것도 다  대분자로 치환한다.

REPLACE 그리고,  혹시 스페이스가 들어가 있을수있으니, 스페이스를 없애는 작업이다.

 

>0 은 값이 1개라도 있으면, 리턴되는거다.

 

위 쿼리문에 AND 붙여서 조건식 추가하면 된다.

 

어자피 검색해서, 포함된 문자열 검색해서 목록을 내려주면 된다.

 

INSTR이  like 보다, 훨씬 빠르고, 간편하다.

Posted by Tyson