【发布时间】:2012-10-25 18:03:20
【问题描述】:
我正在为 Web 应用程序编写一个“高级搜索”页面。它基本上有一个形式:
在 论坛名称 发布的论坛中搜索 query 上一个日期
的用户名
这个想法是用户可以根据需要将字段留空,并且搜索不会包含它。
我宁愿不编写一个存储过程来基于将值留空的所有可能组合进行搜索。有没有办法我可以编写一个存储过程,以便根据传入的参数是否为空白来更改搜索?
类似(伪代码)
SELECT * FROM Table WHERE Message = @query
(if @username isn't null)
AND Username = @Username
(if @forum isn't null)
AND Forum = @forum
..等等。
感谢您提供的任何帮助!
【问题讨论】:
-
我认为应该有帮助:stackoverflow.com/questions/532468/…
-
Dynamic Search conditions in T-SQL - Erland Sommarskog 竭尽全力找出最有效的方法。
-
非常感谢您的所有建议 - 我今晚会试试看效果如何。
-
@Damien:这样我们其他人就可以休息一下了。
标签: sql-server tsql search