在SQL中搜索“和 - 或”包含

时间:2018-04-05 13:53:37

标签: sql-server

我想在SQL包含查询

中使用put(和 - Or)

让我们考虑一下我们有一个字段BOOK_Title包含数据,例如:“C#AND C ++”

computed_column:BOOK_Title +' '+Book_Auther  我用:

select *
from VW_Items 
where contains(computed_column, 'C# and and and C++')

我也使用:

select *
from VW_Items 
where contains(computed_column, 'C# and C++')

1 个答案:

答案 0 :(得分:0)

如果您只有两个,如果您想要一个OR,我认为不需要AND。 OR会抓住任一术语,AND只抓住那两个术语。除非我误解了你的问题,否则所需的AND / OR理想情况下就像OR一样抓住任何一个术语。

如果你想区分两者,我会选择与此类似的东西,尽管可能有更好的方法来“加权”结果:

select CASE WHEN CHARINDEX('C#', computed_column) > 0 AND CHARINDEX('C++', computed_column) > 0 THEN 1 ELSE 0 END AS Relevance, *
from VW_Items 
where contains(computed_column, 'C# and C++')
ORDER BY 1 DESC