我是SQL的新手,我试图使用使用变量的CONTAINS进行部分搜索。它在寻找一个完整的"期限但不是部分的。让我们说这是条目#34; Tristan"当我只使用" Trist"时,没有任何东西弹出。我尝试这样做:go doc time.Second
,但它不起作用。在我的存储过程的代码下面。
@Word+'*'
答案 0 :(得分:1)
其他人的重要提示:
CONTAINS是Transact-SQL SELECT语句的WHERE子句中使用的谓词,用于对包含基于字符的数据类型的全文索引列执行SQL Server全文搜索
直接回答我发现的问题:
Use of contains() in sql server
结合ZLK的评论:
@variable = @variable + '*';
SELECT *
FROM user
WHERE CONTAINS(column, @variable);
此*语法类似于LIKE('value%')
它只能从一个带有外卡的单词的开头起作用。你不能用通配符加前缀,这是FULL-TEXT Indexing的性质......不能将通配符编入索引。
我在搜索过程中发现了一些有趣的前缀解决方法,但我没有推荐。通过执行LIKE('%value%')搜索,您可以获得比我遇到的任何变通方法更好的性能。