Значение условного параметра SQL - PullRequest
0 голосов
/ 21 июня 2011

Мне нужно, чтобы параметр множественного выбора был обнуляем, поэтому, думая об обходных путях, я подумал, что было бы довольно просто, если бы я мог сделать что-то вроде:

SELECT STATEMENT{
...
}
IF @Door = null
@Door = '0000'

Как вы можете обойти нулевое многозначноепараметры?

Ответы [ 3 ]

4 голосов
/ 21 июня 2011

Вы можете использовать где door = coalesce (@ door, door)

При этом будет использоваться параметр @door, если он не равен нулю, или будет использоваться значение, указанное в столбце двери для этой строки.

0 голосов
/ 21 июня 2011

Просто

SET @Door = COALESCE(@Door, '0000');
SELECT …  /* using @Door */

Если я что-то упустил.

0 голосов
/ 21 июня 2011

Попробуйте это:

SELECT Foo
From Bar
WHERE ((@Door IS NULL AND Door = '0000') 
       OR (Door = @Door))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...