Keyword와 함께 StartSwith에서 ASP.NET 데이터베이스 검색을 수행합니다
문제
쿼리가 있습니다. 검색 엔진이있는 사이트를 개발 중입니다. 검색 엔진이 주요 기능입니다. 비즈니스 디렉토리 사이트입니다.
현재 "Like"키워드를 사용하여 데이터베이스를 검색하는 기본 검색 SQL이 있습니다.
내 클라이언트는 "startswith"키워드의 줄을 따라 무언가를 따르는 "같은"키워드를 사용하는 대신 검색 기능을 변경하도록 요청했습니다.
여기서 이러한 요구를 명확히하는 것이 예입니다. 누군가 텍스트 상자에 배관공에 대해 "plu"를 입력하면 현재 반환됩니다.
- 센터 주 배관 및 지붕
- 배관 무제한
클라이언트는 "PLU"로 시작하기 때문에 "배관 무제한"을 반환하고 "plu"를 "포함하지"않기 때문에 "Plu"
나는 이것이 이상하고 어리석은 요청이라는 것을 알고 있지만, 누구나이 목표를 달성하는 방법에 대한 올바른 방향으로 나를 지적 할 수있는 예제 SQL 코드가 있습니까?
도움을 주셔서 감사합니다. 감사합니다 ...
해결책
대신에:
select * from professions where name like '%plu%'
, 주요 %없이 WHERE 절을 사용하십시오.
select * from professions where name like 'plu%'
다른 팁
이건 어때:SELECT * FROM MyTable WHERE MyColumn LIKE 'PLU%'
% 부호는 문자열의 오른쪽에만 있습니다.
MS SQL의 예
LIKE
정말 효과적인 검색에 필요한 성능을 제공하지 않습니다. 같은 것을 조사합니다 Lucence
또는 엔진의 전체 텍스트 검색에 해당합니다.
제휴하지 않습니다 StackOverflow