包含不起作用的表

时间:2017-07-05 06:59:36

标签: sql-server

我在名为Lease的表格中有一个名为SearchTerm的列的全文。

我尝试过这样的事情: -

SELECT * FROM CONTAINSTABLE(Lease, SearchTerm, 'Canterbury*')

不返回任何记录。我确实看到SearchTerm等于 - ' 3 Canterbury Green || Imaging Technology Group'。但记录并没有显现出来。任何人都可以告诉我发生了什么。

1 个答案:

答案 0 :(得分:0)

  

它在full-text indexed columns上执行SQL Server全文搜索   包含基于字符的数据类型。

CONTAINSTABLE

CREATE TABLE Flags (Country nvarchar(30) NOT NULL, FlagColors varchar(200));  
CREATE UNIQUE CLUSTERED INDEX FlagKey ON Flags(Country);  
INSERT Flags VALUES ('France', 'Blue and White and Red');  
INSERT Flags VALUES ('Italy', 'Green and White and Red');  
INSERT Flags VALUES ('Tanzania', 'Green and Yellow and Black and Yellow and Blue');  
INSERT Flags VALUES ('US', '3 Canterbury Green||Imaging Technology Group');  
SELECT * FROM Flags;  
GO  

CREATE FULLTEXT CATALOG TestFTCat;  
CREATE FULLTEXT INDEX ON Flags(FlagColors) KEY INDEX FlagKey ON TestFTCat;  
GO   

SELECT * FROM Flags;  
SELECT * FROM CONTAINSTABLE (Flags, FlagColors, 'Canterbury')
SELECT * FROM CONTAINSTABLE (Flags, FlagColors, '"Canterbury*"') 

您可能必须将'"Canterbury*"'括在@Richard指定的双引号中。

没有必要指定*,但正如您所见,上面的选择会给出相同的结果。