我想在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++')
答案 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