【发布时间】:2020-08-11 05:52:15
【问题描述】:
我有 3 个可搜索的列。当用户输入超过 1 个单词时,我必须搜索包含所有单词 (AND) 的行,并且它可以在 3 列中的任何一个中匹配。应使用通配符 (word*) 搜索所有单词。如何在 SQL 全文搜索中做到这一点。
我尝试使用 AND 运算符的 contains 函数。看起来它只搜索一列。
当用户搜索“doxy vive”时,我需要在带有前缀和 AND 的列中进行搜索。 这是我尝试过但没有奏效的方法。它适用于 OR 条件。
select Details
from [Items]
where CONTAINS((Details,Assignee),'"doxy*" AND "vive*"')
这解释了如何在多个列上进行搜索,但我需要在多个列上执行 AND。 https://docs.microsoft.com/en-us/sql/t-sql/queries/contains-transact-sql?view=sql-server-ver15#querying-multiple-columns-full-text-search
【问题讨论】:
-
请显示示例数据、预期结果和您的尝试(全部为格式化文本)。
标签: sql-server full-text-search