Как игнорировать условие, если значение параметра = "ВСЕ" - PullRequest
0 голосов
/ 13 июля 2011

Я нашел эту ссылку

Как вернуть все записи, если параметр имеет значение null

Мне нужно,

Игнорировать параметр /условие, как указано выше, когда значение параметра равно ALL.

Как этого добиться.

Информация ниже, ЗАДАЧА: вместо нуля следует игнорировать, если параметр = ALL

Declare @psqluid varchar(15) = 'admin'
Declare @psqlstartdate datetime = '06/01/2010'
Declare @psqlenddate datetime = '06/28/2012'
Declare @psqlcompany varchar(45)
Declare @psqlapplication varchar(10) = 'APP2'
Declare @psqlprogram varchar(10)= 'PROG1'
SELECT * FROM [TMSFINAL].[dbo].[TMTMS] 
WHERE (@psqluid IS NULL  OR [TMSFINAL].[dbo].[TMTMS].[tmsUserID]=@psqluid) 
AND [TMSFINAL].[dbo].[TMTMS].[tmsDate] >= @psqlstartdate 
AND [TMSFINAL].[dbo].[TMTMS].[tmsDate] <= @psqlenddate 
AND (@psqlcompany IS NULL OR [TMSFINAL].[dbo].[TMTMS].[tmsCompany] = @psqlcompany) 
AND [TMSFINAL].[dbo].[TMTMS].[tmsApplication] = @psqlapplication 
AND [TMSFINAL].[dbo].[TMTMS].[tmsProgram] = @psqlprogram

1 Ответ

1 голос
/ 13 июля 2011
IF @param!="ALL"
BEGIN
  SET @Sql += 'Condition'
END

Разве не работает?

добавлены:

WHERE @psqluid = "ALL" OR [TMSFINAL].[dbo].[TMTMS].[tmsUserID]=@psqluid ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...