Depending on the input params, it may be safer to use another Case for (3) rather than an ELSE. Are you using NULL as the BIT's value (3)? Or is the input a char param, like below:DECLARE @myTable TABLE (myName varchar(10), myBit BIT)INSERT INTO @myTable SELECT 'True',1 UNION SELECT 'False',0DECLARE @input CHAR(1)SET @input = 3SELECT myName, myBit FROM @myTable WHERE myBit = CASE @input WHEN 1 THEN 1 WHEN 0 THEN 0 WHEN 3 THEN myBit END