Возможно ли опустить WHERE
, если переменная является определенным значением? Следующие не работают, и я изо всех сил пытаюсь найти ответ;Если Var определенно Значение опускает WHERE
DECLARE @rMonth int, @rYear int, @sID int
SET @rMonth = 0;
SET @rYear = 0;
SET @sID= 0;
SELECT
TCS.bStatus AS jStatus, TCS.ID, TCS.sID, TCS.insDate, TCS.statusLabel, TCS.cID
FROM
TCS
CASE WHEN @rMonth > 0 THEN
WHERE month(insDate) = @rMonth AND year(insDate) = @rYear
END
Если у вас большой стол и забота о производительности, вы должны задать другой вопрос. Структура ваших аргументов 'where' (и' where' в ответах) предотвращает использование индексов. –