我正在SQL Server 2005中为讨论板编写搜索查询。 proc有几个参数,但大多数都是“可选的”。 Message Body有一个搜索字段,我有一个全文索引。这是问题..
如果我传入一个值来搜索FreeText,搜索工作正常(谢谢微软)。但是,消息正文字段是可选的,这意味着在我的查询中,我想处理“全部搜索”。如何将我的查询默认为只使用任何\ all记录而不管消息体字段中保存的数据是什么?
我知道这不起作用,但如果没有为消息体参数返回任何值,我正在寻找类似的东西:
where (FREETEXT(msg.messagebody, '*'))
答案 0 :(得分:1)
您可以执行以下操作:
从Products_CatalogProducts中选择*(@keywords ='*'或freetext(msg.messagebody,@ keywords))
假设您传入带有*的@keywords,如果它是空白的