Я работаю с Stored Proc с несколькими параметрами. Однако оказалось, что для одного из параметров мне нужно пройтись по списку элементов и вызвать SP несколько раз. Но поскольку я передаю SP все возможные значения этого типа, кажется более эффективным (и проще) просто обойти параметр, сказав «получить их все» с помощью подстановочного знака.
Возможно ли это сделать, например, с помощью «*» или «%» или чего-то еще?
Теоретически (на основе проведенного мной исследования) "%" должен работать, но в моем случае он не возвращает никаких записей. Я делаю что-то не так с этим кодом:
. . .
new SqlParameter()
{
ParameterName = "@Member",
SqlDbType = SqlDbType.VarChar,
Value = '%'
},
. . .
?
WHERE col = ISNULL(@param, col)
или для большей производительностиWHERE col = @param or @param IS NULL
- person Lukasz Szozda   schedule 30.12.2015%
является подстановочным знаком, когда используется сLIKE
оператор. Но если этого не происходит, это не сработает. - person Damien_The_Unbeliever   schedule 30.12.2015...LIKE @Member....
См. ответ здесь для примера: stackoverflow.com/questions/10601318/ - person Mark Schultheiss   schedule 30.12.2015