Para complementar o restante das respostas aqui, que lidam principalmente com valores NULL e COALESCE/NVL/NVL2:
SELECT *
FROM TheTable
WHERE field1 = CASE field2 WHEN 0 THEN 'abc' WHEN 1 THEN 'def' ELSE '' END
As declarações CASE não são tão sucintas, obviamente, mas são voltadas para a flexibilidade. Isso é particularmente útil quando suas condições não são baseadas em NULL-ness.