MySQL 정확한 전체 텍스트 일치 검색 방법
텍스트 검색을 수행할 때 일반적으로 부분 일치가 아닌 정확한 단어 일치를 찾으려고 합니다. 예를 들어, "rid"를 검색하면 "arid"와 같은 단어를 포함하는 대신 "rid"가 완전한 단어로 나타나는 레코드만 반환해야 합니다.
MySQL에서 REGEXP 및 단어 경계 표시 사용
MySQL에서는 REGEXP 연산자와 단어 경계 표시자 [[:<:]]
및 [[:>:]]
를 사용하여 전체 텍스트 일치를 달성할 수 있습니다. 이 마커는 각각 단어의 시작과 끝을 나타냅니다.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
이러한 태그를 사용하면 쿼리에서 "rid"라는 단어가 정확하게 포함된 행만 반환되도록 할 수 있습니다.
MySQL 8.0.4 이상 업데이트
MySQL 8.0.4에는 업데이트된 RegExp 엔진이 도입되었습니다. 따라서 필수 단어 경계 표시가 b
로 변경되었습니다.
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\b rid \b'</code>
백슬래시는 두 번째 백슬래시로 이스케이프 처리해야 합니다. 다음 단계를 따르면 MySQL에서 전체 텍스트 일치 검색을 쉽게 수행하여 정확한 결과를 얻을 수 있습니다.
위 내용은 MySQL에서 전체 단어 검색을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!