我在一个名为SearchTerm的表中有一个名为Lease的列的完整文本。
我试着这样做:
SELECT * FROM CONTAINSTABLE(Lease, SearchTerm, 'Canterbury*')
不返回任何记录。我确实看到SearchTerm等于- '3坎特伯雷绿色||成像技术集团‘的记录。然而,记录并没有显示出来。谁能告诉我这是怎么回事。
发布于 2017-07-05 15:59:00
它对包含基于字符的数据类型的
full-text indexed columns
执行SQL Server全文搜索。
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*"')
您可能必须使用@Richard指定的双引号将'"Canterbury*"'
括起来。
虽然没有必要指定*
,但正如您所看到的,上面的select给出了相同的结果。
https://stackoverflow.com/questions/44919061
复制相似问题