Вы можете попытаться создать все необходимые параметры и решить использовать их в SQL с оператором coalesce. Вот так:
select field1,field2
from table_a
where /*sneaky part below*/
field1 = Coalesce(@ParamForField1, field1)
AND
field2 = Coalesce(@ParamForField2, field2)
Это будет эффективно игнорировать параметры, если их значение равно нулю. Это не работает в любой ситуации, хотя. Это немного длинная петля вокруг вашей проблемы, но может работать для вас.