我正在尝试创建以下SQL查询(例如,这是最终查询的示例): -
DECLARE @SearchQuery AS NVARCHAR(100) = 'yellow bird'
SELECT Id, Name
FROM dbo.FooBars
WHERE CONTAINS(Name, N'FORMSOF(Thesaurus, yellow)')
AND CONTAINS(Name, N'FORMSOF(Thesaurus, bird)')
注意我有两条CONTAINS
行吗?这是因为搜索查询中有两个单词。 ( space 是分隔符)。此查询可以是1到n个单词。
如何根据搜索查询中的字数生成此SQL代码?
答案 0 :(得分:3)
您可以将“AND”放入包含本身,因此可以
select *
from dbo.FooBars
where contains(Name, 'FORMSOF(Thesaurus, yellow) AND FORMSOF(Thesaurus, bird)')
字符串'FORMSOF(同义词库,黄色)和FORMSOF(同义词库,鸟)' 建立在像
这样的变量中declare @searchCriteria varchar(200)
set @searchCriteria = 'Some string you built up'
select *
from dbo.FooBars
where contains(Name, @searchCriteria)