Sql server SQL Server“;“可选”;自由文本搜索
我正在SQLServer2005中为一个讨论板编写一个搜索查询。proc有几个参数,但大多数是“可选的”。邮件正文有一个搜索字段,上面有全文索引。问题是 如果我传入一个值以使用FreeText进行搜索,则搜索工作正常(谢谢Microsoft)。但是,messagebody字段是可选的,这意味着在我的查询中,我希望处理“search all”。如何将查询默认为只使用任何\所有记录,而不考虑“我的邮件正文”字段中的数据 我知道这不起作用,但如果没有为message body参数返回任何值,我将查找类似以下内容:Sql server SQL Server“;“可选”;自由文本搜索,sql-server,freetext,Sql Server,Freetext,我正在SQLServer2005中为一个讨论板编写一个搜索查询。proc有几个参数,但大多数是“可选的”。邮件正文有一个搜索字段,上面有全文索引。问题是 如果我传入一个值以使用FreeText进行搜索,则搜索工作正常(谢谢Microsoft)。但是,messagebody字段是可选的,这意味着在我的查询中,我希望处理“search all”。如何将查询默认为只使用任何\所有记录,而不考虑“我的邮件正文”字段中的数据 我知道这不起作用,但如果没有为message body参数返回任何值,我将查找类
where (FREETEXT(msg.messagebody, '*'))
你可以这样做: 从产品目录中选择*(@keywords='*'或freetext(msg.messagebody,@keywords))
假设您传入带有*的@keywords,如果它为空,您可以执行以下操作: 从产品目录中选择*(@keywords='*'或freetext(msg.messagebody,@keywords))
假设你在@keywords中输入了一个*如果是空的谢谢史蒂夫,如果我误导了我所寻找的,我道歉。问题是“*”不起作用。所以我真正想要的是一个我可以传递的值,它只会搜索“所有”,知道我的意思吗?感谢您的时间…试一试,如果@keywords='*'或不是,它将返回所有结果,然后它将执行自由文本搜索。您能告诉我解决方法吗?很抱歉,上次的评论是关于另一个问题的。
是的,我尝试了这个方法,但这个通配符在freetexttable中不受支持,而这是不同的自由文本。在我使用FreeTextTable的情况下,我实际上是在寻找这样的东西。谢谢史蒂夫,如果我误导了我所寻找的东西,我向你道歉。问题是“*”不起作用。所以我真正想要的是一个我可以传递的值,它只会搜索“所有”,知道我的意思吗?感谢您的时间…试一试,如果@keywords='*'或不是,它将返回所有结果,然后它将执行自由文本搜索。您能告诉我解决方法吗?很抱歉,上次的评论是关于另一个问题的。
是的,我尝试了这个方法,但这个通配符在freetexttable中不受支持,而这是不同的自由文本。在我使用FreeTextTable的情况下,我实际上在寻找这样的东西,我需要解决方案。有人吗?我需要解决办法。任何人