Я какое-то время работал над этой проблемой, но я подумал, что должен быть более простой способ сделать это, поэтому я решил сделать пост.
У меня есть параметр фильтра данных, и я хочу сделать ветку if / else или case в моем предложении where. Если моя переменная @State отличается от «All», я хочу добавить «And (state = @State)» в мое предложение where.
SELECT timestamp, service, state
FROM socketLog
WHERE (timestamp BETWEEN dbo.fxMilitaryTime('02/01/12', 'mdy')
AND DATEADD(dd, 1, getdate())) AND (state = @State)
ORDER BY service
Я попытался получить оператор if / else и case для работы там, где у меня были проблемы с синтаксисом. Я почти уверен в этом случае и если операторы поддерживаются в предложении where, но я не могу заставить его работать правильно.
Спасибо тем, у кого есть время помочь.