2014-07-14 98 views
0

自由文本不會返回表格中的所有單詞。幷包含不行全文搜索不起作用(FREETEXT - CONTAINS)

我有一排至極包括

mycolumn =「國王的生活」我嘗試過2個方法; 第一 「包含」

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

不會返回任何

二:

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

它返回237行! 這是;

「派的生活」,「這是一個完美的事情,生活」,「獅子王」,「亞瑟王」,「生命的故事」等「一景生活」 ......

我想要返回只包含「+」「+」「King」字樣的「Life」+「行」的行。

感謝您的回覆!

+0

你嘗試SELECT * FROM MYTABLE WHERE MYCOLUMN LIKE '的國王%%生活'? – skarist

回答

0

我假設全文字段是nvarchar。

這是我的例子:

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 

下面的查詢返回的確切值:

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

謝謝 CONTAINS(MYCOLUMN,N'「國王的生活」'),它的工作。 – Pisagor