我希望能够有一个存储过程,允许用户根据参数搜索2个不同的时间帧,该参数将说明他们是在整整24小时内搜索结果还是基于营业时间。 where子句中的case语句是最佳选择吗?这将是将在SSRS报告中使用的存储过程,用户将在下拉菜单中选择“日历日”和“营业日”,以指定存储过程中参数定义的日期类型。谢谢你的帮助。
答案 0 :(得分:0)
我不知道你是否需要在WHERE子句中使用CASE语句。你可能只是逃避了AND和OR。
WHERE
(Parameter = 'Calendar Day')
or
(Parameter = 'Business Day' and DATEPART(HOUR, DateField) between 9 and 17)
where子句不会比较日历日的小时数,也不会比较工作日的时间,时间需要在上午9点到下午5点之间。