Peut-être que cela fait l'affaire :
SELECT *
FROM table
WHERE col1 = param1
AND (param2 is null or col2 = param2);
Cela ne supprime pas la condition AND, mais devrait rendre le sans importance dans le cas où param2 est nul. Donc pas répondre clairement à ta question mais faire le tour...;)