Могу ли я добавить предложение if в предложение where
62
6
В хранимой процедуре я имею:
@parameter int
на основе этого параметра я получаю некоторые данные, это может быть -1 или больше 0.
Проблема в том, что если это -1, я не хочу, чтобы этот параметр был в том, где предложение вообще.
Поэтому я пытаюсь сделать что-то вроде:
IF @parameter = -1 THEN
WHERE ...
ELSE
where ... AND Column = @parameter
Но это не работает.
спросил(а)
2021-01-19T14:42:31+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Решение
123
Обычно вы применяете это ограничение следующим образом:
WHERE [...] AND (@parameter = -1 OR Column = @parameter)
ответил(а)
2021-01-19T14:42:31+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
61
where
@parameter != - 1 AND Column = @parameter
Разница между Dan J и моим ответом заключается в том, что ничего не сопоставляется, если @parameter -1. Дэн J возвращает все, и это поведение, которое вы, вероятно, хотите.
ответил(а)
2021-01-19T14:42:31+03:00
2 месяца, 3 недели назад
добавить комментарий
пожаловаться
Ваш ответ
Еще в рубрике
106
Выберите CASE и имя поля
114
Как объединить 2 sql-запроса с одним запросом в SQL Server?
61
Хотите агрегировать данные из двух таблиц на основе определенного условия (условное соединение SQL)
86
Задача агента SQL Server: запустить запрос T-SQL, а затем отправить электронное письмо?
- Вопросы
- Sql-server
- Могу ли я добавить предложение if в предложение where