SELECT S.Id, S.Name, S.Version, S.SoftNo FROM SOFTWARE S WITH(NOLOCK) WHERE (IF S.Version = 0 THEN S.Version > 0 ELSE S.Version = @Version) AND (IF S.SoftNo = 0 THEN
You have to use CASE WHEN statement instead of if