在2个不同的时间段内搜索

时间:2018-04-30 21:38:00

标签: datetime parameters hour

我希望能够有一个存储过程,允许用户根据参数搜索2个不同的时间帧,该参数将说明他们是在整整24小时内搜索结果还是基于营业时间。 where子句中的case语句是最佳选择吗?这将是将在SSRS报告中使用的存储过程,用户将在下拉菜单中选择“日历日”和“营业日”,以指定存储过程中参数定义的日期类型。谢谢你的帮助。

1 个答案:

答案 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点之间。