Поиск между 2 разными периодами времени - PullRequest
0 голосов
/ 01 мая 2018

Я бы хотел иметь хранимую процедуру, которая позволит пользователю выполнять поиск между 2 различными временными рамками, основываясь на параметре, который скажет, ищут ли они результаты в течение полного 24-часового периода или на основе часы работы. Будет ли утверждение case в предложении where лучшим выбором? Это будет хранимая процедура, которая будет использоваться в отчете SSRS, и пользователь будет выбирать между «Календарным днем» и «Рабочим днем» в раскрывающемся меню, чтобы указать тип дня, определенный параметром в хранимой процедуре. Спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 мая 2018

Я не знаю, нужно ли вам использовать оператор CASE в предложении WHERE. Возможно, вы могли бы просто избежать неприятностей с AND и OR.

WHERE 
    (Parameter = 'Calendar Day')
    or
    (Parameter = 'Business Day' and DATEPART(HOUR, DateField) between 9 and 17)

Предложение where не будет сравнивать часы, когда это календарный день, но когда это рабочий день, время должно быть между 9 и 17 часами.

...