oracleで下記のようなSQL文をwhere句に入れて、case文に導入して条件分岐させたいです。

前提事項として下記のようなカラムが存在
A=ID最終利用日
B=ID登録日
C=ID公開日

下記のようなwhere句に入れて、case文に導入して条件分岐させたいSQL

Aのカラムがnull でなければAのカラムを参照
Aのカラムがnull and 公開日 > 登録日 であれば 公開日を参照
Aのカラムがnull and 発売日 < 登録日 であれば 登録日を参照

上記のようなSQLをwhere句に入れて、case文に導入してから条件分岐させたいのですが、
where句に入れて、case文では上記に沿う文法が解らずうまくいきません。

上記のようなアルゴリズムを導入するのに適したoracleでの文法を教えてください。