CASE式の結果は、結果のデータ型のデフォルトの書式で表示されます。CASE式の結果は、THEN/ELSE式で示される列について定義される明示的な書式には適用されません。
次のテーブル定義を考えます。
CREATE TABLE duration (i INTEGER ,start_date DATE FORMAT 'EEEEBMMMBDD,BYYYY' ,end_date DATE FORMAT 'DDBM3BY4' );
DATEデータ型のデフォルト書式がYY/MM/DDであると仮定します。
以下の問合わせは、start_dateやend_date列に定義される書式ではなく、YY/MM/DDのデフォルトのDATE形式でCASE式の結果を表示します。
SELECT i, CASE WHEN i=1 THEN start_date WHEN i=2 THEN end_date END FROM duration ORDER BY 1;