【发布时间】:2009-11-08 19:39:21
【问题描述】:
我有一个带有“日期”列的表,其中将查询用户输入(使用存储过程)..结果将显示在数据网格上..
现在用户可以输入年、年/月、年/月/日..(从下拉列表中)
我知道有很多可能的方法来处理不同的查询.. 但是我正在尝试找出最佳实践:
解决方案 1:有 3 个不同的存储过程,每种情况一个。
解决方案 2:有 1 个存储过程,带有 1 个额外参数作为 searchlvl ,然后使用 IF ELSE 语句来决定应该应用什么 lvl 的搜索。
解决方案 3:有 1 个存储过程,并将日期时间作为 3 个不同的参数发送,然后检查 IF 参数是否为空,并使用它来决定搜索 lvl
解决方案 4:您的建议 :)
注意:我知道如何进行部分搜索(使用 datepart),我的问题是关于我提供的 3 个解决方案或答案中提供的任何其他解决方案中的最佳实践。 就像哪个会更快,数据库更轻等等.. 而且会更慢,更重..
【问题讨论】:
标签: sql sql-server