집 >데이터 베이스 >MySQL 튜토리얼 >LIKE 또는 REGEXP를 사용하여 MySQL 레코드의 여러 단어를 효율적으로 일치시키는 방법은 무엇입니까?
LIKE 또는 REGEXP를 사용하여 MySQL 레코드에서 여러 단어 일치
LIKE 연산자를 사용하여 특정 단어가 포함된 레코드를 검색할 때 다음과 같은 문제가 발생할 수 있습니다. 해당 단어가 해당 필드의 다른 위치에 나타나면 어려움을 겪습니다. 이 문제를 해결하려면 REGEXP 연산자를 사용하는 것이 좋습니다.
예를 들어 'Stylus Photo 2100' 값이 포함된 'name'이라는 필드가 있는 'table'이라는 테이블이 있다고 가정해 보겠습니다. LIKE 연산자를 사용하면 다음 쿼리:
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%'
는 결과를 반환하지 않습니다. 이는 LIKE 연산자가 지정된 문자열과 정확히 일치하는 항목을 검색하기 때문입니다.
'Stylus' 및 '2100'이라는 단어가 순서에 관계 없이 포함된 레코드를 찾으려면 다음과 같이 REGEXP 연산자를 사용할 수 있습니다. 쿼리:
SELECT `name` FROM `table` WHERE `name` REGEXP 'Stylus.+2100'
이 쿼리는 정규식을 사용하여 'name' 필드에 'Stylus'라는 단어와 그 뒤에 임의의 문자가 포함된 레코드를 검색합니다. ('.'으로 표시), '2100.'이라는 단어
또는 다음 쿼리에 표시된 것처럼 LIKE 연산자를 여러 번 사용할 수 있습니다.
SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus%' AND `name` LIKE '%2100%'
이것은 쿼리는 위치에 관계없이 '이름' 필드에 'Stylus'라는 단어와 '2100'이라는 단어가 포함된 레코드를 반환합니다.
위 내용은 LIKE 또는 REGEXP를 사용하여 MySQL 레코드의 여러 단어를 효율적으로 일치시키는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!