У меня есть хранимая процедура SQL Server 2005, которая выполняет запрос. Эта хранимая процедура принимает три параметра. Параметры заключаются в следующем:SQL - условное предложение WHERE
@StateID как INT,
@CountyID как INT,
@CityID как INT
Эти параметры используются для запроса списка клиентов. Я хочу в основном сделать «И», если значение параметра не равно нулю. Тем не менее, я не могу сделать if-else в это время. Как добавить эти предложения, если значение параметра не равно нулю. Другими словами:
SELECT
*
FROM
Customer c
WHERE
[email protected]
-- AND [email protected] IF @CountyID IS NOT NULL
-- AND [email protected] IF @CityID IS NOT NULL
Это будет плохо работать из-за способности к переносу. См. Ответ gbn на альтернативы для рассмотрения. –
OMG Ponies - это то, что у Aaron есть NULL чеки * после * ORs? – stack
Ответ Аарона, в отличие от gbn's, имеет то преимущество, что даже если столбец CountyID может содержать значения NULL. Мне нужна была аналогичная функциональность, как в этом вопросе, но в моей колонке были некоторые значения NULL; этот работал для меня. –