2014-07-14 6 views
0

Freetext는 테이블에서 모든 단어를 반환하지 않습니다. 그리고 나는이 방법을 시도전체 텍스트 검색이 작동하지 않습니다. (FREETEXT - CONTAINS)

나는 하나의 행 느릅 나무가이

mycolumn = "왕의 생명"에 포함되지 포함합니다;

SELECT * FROM MYTABLE WHERE FREETEXT(MYCOLUMN,'Life of a King') 

그것은 237 개 행을 반환 : 첫

SELECT * FROM MYTABLE WHERE CONTAINS(MYCOLUMN,'Life NEAR of NEAR a NEAR King') 

이 두 번째 아무것도

반환 "포함"! 입니다.

"파이의 생활", "그것은 멋지 생활이다", "라이온 킹", "아더 왕", "라이프 스토리"등 "왕의 생명"...

"+"a + "King"단어의 "Life"+ "만 포함하는 행을 반환하고 싶습니다.

답장을 보내 주셔서 감사합니다.

+0

당신이 MYTABLE MYCOLUMN LIKE '킹 %의 %의 삶'SELECT * FROM 시도가 : 정확한 값을 반환하는 쿼리에 따라

CREATE TABLE [dbo].[FullTextTable]( [ID] [int] NOT NULL PRIMARY KEY, [FullTextField] [nvarchar](max) NOT NULL ); GO CREATE FULLTEXT INDEX ON FullTextTable([FullTextField]) KEY INDEX [PK_FullTextTable] WITH STOPLIST = SYSTEM; GO 

? – skarist

답변

0

전체 텍스트 필드가 nvarchar라고 가정합니다. 여기

내 예입니다

SELECT FullTextField 
FROM FullTextTable 
WHERE 
CONTAINS 
(FullTextField, N'"Life NEAR of NEAR a NEAR King"'); 
GO 
+0

감사합니다 (MYCOLUMN, N ' "Life of a King")이 포함되어 있습니다. – Pisagor