So I have been trying to research a way where I can have a stored proc that will perform dynamic search on various columns to filter the data, but has the capability of something similar to WHERE IN, i.e. to take multiple input criterion per column. 

So let's say I have 3 columns FN, LN, DOB. I need to have a stored proc that will let me provide values for the any combination of the three variables with multiple values for each column. 

EX: FN IN ('ADAM', 'BRIAN') OR LN IN ('SMITH') OR DOB is not provided.

I was trying to follow this,

```
SELECT 
  FN,    
  LN
FROM TestData
WHERE 
  (CASE 
    WHEN @FN IS NULL THEN 'True'
    ELSE FN
  END) = (CASE 
           WHEN @FN IS NULL THEN 'True'
           ELSE @FN
         END)
  AND (CASE 
        WHEN @LN IS NULL THEN 'True'
        ELSE LN
       END) = (CASE 
                WHEN @LN IS NULL THEN 'True'
                ELSE @LN
               END)
  AND (CASE 
        WHEN @DOB IS NULL THEN '1/1/0001'
        ELSE DOB
       END) = (CASE 
                WHEN @DOB IS NULL THEN '1/1/0001'
                ELSE @DOB
              END)

```