Учитывая простоту, я бы предложил использовать значения 1
, 0
и NULL
для @MyBool
, тогда вы можете сделать следующее:
SELECT {Columns}
FROM dbo.YourTable
WHERE MyBool = @MyBool
OR @MyBool IS NULL;
Обратите внимание, что может привести к неправильному кэшированию плана запроса, поэтому я бы рекомендовал добавить OPTION (RECOMPILE)
к запросу.