繁体   English   中英

SQL Server 2016,如何在数据库的多个单词搜索中使用CONTAINS()?

[英]SQL Server 2016, How to use CONTAINS() with multiple word search of database?

大多数情况下,SQL是新手,所以也许有更好的方法,但是我正在寻找一种使用文本框搜索数据库的方法,该文本框可以包含任意数量的单词/数字。 基本上就像一个搜索引擎。 要搜索的列: [Col1], [Col2], and [Col3]

我已为表格全文索引,是否可以使用CONTAINS

DECLARE @Search nvarchar(500)
SET @Search = 'foo 7 bar' -- can have multiple words/numbers

SELECT *
FROM TableName
WHERE CONTAINS([Col1] or [Col2] or [Col3], @Search)

我意识到最后一行语法不正确,但这基本上就是我要寻找的。 不应完全匹配或区分大小写,也不应该是措辞顺序('red cat' = 'cat red') 还希望显示紧密匹配的结果,即某些关键字不匹配任何内容。

谢谢!

您的每个搜索词都必须用引号引起来。

'"Hi" AND "I" AND "am" AND "Yogeesha"'

有关更多信息,请参见https://msdn.microsoft.com/zh-CN/library/ms187787(v=SQL.90).aspx

事实证明,使用FREETEXT()得出我一直在寻找的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM