[MySQL] like ('%',?,'%')

resilient

·

2021. 3. 19. 10:59

728x90
반응형

[MySQL like ('%',?,'%')]

검색을 구현하는건 매우 까다롭다.
초성을 입력해서 검색이되는 경우가 있고, 키워드를 검색하면 되는경우도있다.
맞춤법에 맞게 쓰지 않아도 검색이되는 경우도있다.
이번에 내가 mysql 로 간단하게 구현한 검색문법은 concat('%',?,'%')을 사용하였다.
키워드나 정확한 단어를 입력하면 관련된 컬럼들을 쭉 나열해 준다.

like('%',?,'%') 사용하기

like('%',?,'%') 는 ?이 들어간 모든 컬럼을 조회 할 수 있다.

SELECT {컬럼명} FROM 테이블명
where {검색기준이될컬럼명} like concat('%',?,'%');

위와 같이 기본 문법을 나타낼 수 있다.

select scheduleID  
from schedule  
where scheduleName like concat('%', ?, '%') and userID = 3;  
use famo_steady;  
select scheduleID  
from schedule  
where scheduleMemo like concat('%', ?, '%') and userID = 3;
위 예시 코드는 FAMO 앱 런칭을 할 때 검색기능에서 작성한 쿼리이다.
일정들 중에서 scheduleName 일정제목 이나 scheduleMemo 일정내용에서 특정 단어가 들어간 일정을 검색하고자 할 때 사용헀다.
반응형

'Back-end > DB' 카테고리의 다른 글

[Redis] Redis란 ?  (0) 2021.08.20
[MySQL]COALESCE  (0) 2021.05.06
[MySQL] group_concat  (0) 2021.03.01
[MySQL]이벤트스케줄러 생성 (Event Scheduler)  (0) 2021.03.01
[MYSQL] 테이블생성,수정,삭제 CRUD  (0) 2020.12.24