Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL Server“;“可选”;自由文本搜索_Sql Server_Freetext - Fatal编程技术网

Sql server SQL Server“;“可选”;自由文本搜索

Sql server SQL Server“;“可选”;自由文本搜索,sql-server,freetext,Sql Server,Freetext,我正在SQLServer2005中为一个讨论板编写一个搜索查询。proc有几个参数,但大多数是“可选的”。邮件正文有一个搜索字段,上面有全文索引。问题是 如果我传入一个值以使用FreeText进行搜索,则搜索工作正常(谢谢Microsoft)。但是,messagebody字段是可选的,这意味着在我的查询中,我希望处理“search all”。如何将查询默认为只使用任何\所有记录,而不考虑“我的邮件正文”字段中的数据 我知道这不起作用,但如果没有为message body参数返回任何值,我将查找类

我正在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的情况下,我实际上在寻找这样的东西,我需要解决方案。有人吗?我需要解决办法。任何人