SQL Server“可选”FreeText搜索

时间:2009-07-08 20:06:33

标签: sql-server freetext

我正在SQL Server 2005中为讨论板编写搜索查询。 proc有几个参数,但大多数都是“可选的”。 Message Body有一个搜索字段,我有一个全文索引。这是问题..

如果我传入一个值来搜索FreeText,搜索工作正常(谢谢微软)。但是,消息正文字段是可选的,这意味着在我的查询中,我想处理“全部搜索”。如何将我的查询默认为只使用任何\ all记录而不管消息体字段中保存的数据是什么?

我知道这不起作用,但如果没有为消息体参数返回任何值,我正在寻找类似的东西:

where (FREETEXT(msg.messagebody, '*'))

1 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

  

从Products_CatalogProducts中选择*(@keywords ='*'或freetext(msg.messagebody,@ keywords))

假设您传入带有*的@keywords,如果它是空白的