2011-11-14 2 views
0

아마도 이것은 바보 같은 질문입니다. 나는 SQL 달성하려면 어떻게like sql freetext search

"무료 문자를 사용하여 '% 테스트 %'처럼? 내가 생각

은 포함하고 무료 문자는 동등하다" '% 테스트 %', 더하기 하나 개는 GET의 문법 검사 및 성능 등 . 내 경우

나는이 :

select * from ServiceOfferResultIndexed where contains(FirstName,'test') 

나에게 나에게 229 개 행을 준다 (18)

rows.select * from ServiceOfferResultIndexed where FirstName like '%test%' 

을 제공한다.

도움 주셔서 감사합니다.

DB는 MS SQL 2005입니다. *를 후위로 지원합니다. 필자가 * "test" '를 제공하면 *는 와일드 카드가 아닌 단어로 간주됩니다. 시험은 다음 단어가됩니다.

Contains는 'test'로 시작하는 모든 구문을 'test'로 찾는 경우에만 'test *'를 지원합니다.

+0

어떤 데이터베이스를 사용하고 있습니까? – Oded

답변

2

두 가지 다른 표현식입니다. LIKE '%test%'은이 단어와 일치 할 4 개의 문자가 함께있는 행을 찾습니다 (예 : 평가 또는 참가자).

사용하는 전체 텍스트 엔진을 알지 못하지만 일반적으로 와일드 카드가 지원됩니다. 예를 들어, contains(firstame, '*test*')을 사용하면 어떻게됩니까? 자유 텍스트 검색에서 와일드 카드에 대한 특정 dbms 문서를 참조해야합니다.