オラクルの日付型を to_char した時の変換ルールの件
DBをバージョンアップしたらこんなんなった><
9i: select to_char(sysdate,'mon') from dual; → may 11g: select to_char(sysdate,'mon') from dual; → 5月
下記に 10g より nls_data_language の設定が関係するとの記述あり。
http://www.shift-the-oracle.com/sql/functions/to_date.html
ちなみに上記リンクに書かれてあるよう、第3引数に nls_data_language を指定することで変換ルールを指定することができる。
11g: select to_char(sysdate,'mon','NLS_DATE_LANGUAGE=ENGLISH') from dual; → may
で、面倒なんでパラメータファイルでNLS_DATE_LANGUAGE指定したけど有効にならない。
オラクルに聞いたら
DBのキャラクタセットJA16EUC、NLS_LANGがJapanese_Japan.JA16EUCをご利用する前提であれば、セッションレベルの対応以外には、有効な回避策はございませんでした。
との事。ちなみに「セッションレベルの対応」とはこれ。
alter session set nls_date_language='ENGLISH';