Datetime 在两个不同的时间段之间搜索

Datetime 在两个不同的时间段之间搜索,datetime,parameters,hour,Datetime,Parameters,Hour,我希望能够有一个存储过程,允许用户根据一个参数在两个不同的时间段之间搜索,该参数将说明他们是在24小时内搜索结果还是在营业时间内搜索结果。where子句中的case语句是最佳选择吗?这将是一个存储过程,将在SSRS报告中使用,用户将在下拉菜单中选择“日历日”和“营业日”,以指定存储过程中参数定义的日期类型。谢谢您的帮助。我不知道您是否需要在WHERE子句中使用CASE语句。你可能只需要使用and和OR就可以了 WHERE (Parameter = 'Calendar Day')

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

我不知道您是否需要在WHERE子句中使用CASE语句。你可能只需要使用and和OR就可以了

WHERE 
    (Parameter = 'Calendar Day')
    or
    (Parameter = 'Business Day' and DATEPART(HOUR, DateField) between 9 and 17)
where子句不会比较日历日的小时数,但如果是工作日,则时间需要在上午9点到下午5点之间