Måske gør dette tricket:
SELECT *
FROM table
WHERE col1 = param1
AND (param2 is null or col2 = param2);
Dette fjerner ikke AND-betingelsen, men bør gøre det uvæsentlige i tilfælde af, at param2 er nul. Så svarer ikke klart på dit spørgsmål, men går rundt...;)