SQL Server“可选” 自由文本搜索
我正在 SQL Server 2005 中为讨论板编写搜索查询。 该过程需要几个参数,但大多数都是“可选的”。 邮件正文有一个搜索字段,我在该字段上有一个全文索引。 问题是..
如果我传入一个值来使用 FreeText 进行搜索,则搜索工作正常(谢谢 Microsoft)。 但是,消息正文字段是可选的,这意味着在我的查询中,我想处理“搜索全部”。 如何将我的查询默认为仅使用任何\所有记录,而不管消息正文字段中保存的数据如何?
我知道这不起作用,但如果消息正文参数没有返回任何值,我会寻找类似的内容:
where (FREETEXT(msg.messagebody, '*'))
I'm writing a search query in SQL Server 2005 for a discussion board. The proc takes several parameters, but most are "optional". There's one search field for Message Body, which I have a full text index on. Here's the problem..
If I pass in a value to search against with FreeText, the search works fine (thank you Microsoft). However, the message body field is optional, meaning that in my query, I want to handle a "search all". How can I default my query to just use any\all records regardless of the data held in my message body field?
I know this doesn't work, but if no value is returned for the message body parameter, Im looking for something like:
where (FREETEXT(msg.messagebody, '*'))
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你可以这样做:
假设您在 @keywords 中传入 *(如果它为空)
You could do something like:
Assuming you passed in @keywords with a * if it's blank