1

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

如果我传入一个值以使用 FreeText 进行搜索,则搜索工作正常(感谢 Microsoft)。但是,消息正文字段是可选的,这意味着在我的查询中,我想处理“搜索全部”。无论消息正文字段中保存的数据如何,如何默认我的查询只使用任何\所有记录?

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

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

1 回答 1

1

您可以执行以下操作:

select * from Products_CatalogProducts where (@keywords='*' or freetext(msg.messagebody,@keywords))

假设您在 @keywords 中传递了 * 如果它是空白的

于 2009-07-09T02:26:05.023 回答