[Oracle] 日付を和暦表示する
Oracleで日付を和暦表現するには、TO_CHARの第3引数にカレンダーを指定すればOKです。
和暦の指定は、”平成23″のようにフル表示するか、”H23″のように略表示ができます。
また、もともと和暦表現されている日付文字列を逆にDate化することも可能です。
select TO_CHAR(sysdate, 'EEYY"年"MM"月"DD"日"', 'nls_calendar=''Japanese Imperial''') as "EEYY年MM月DD日" ,TO_CHAR(sysdate, 'EYY/MM/DD', 'nls_calendar=''Japanese Imperial''') as "EYY/MM/DD" ,TO_CHAR(TO_DATE('平成23年4月1日', 'eeyy"年"mm"月"dd"日"', 'nls_calendar=''Japanese Imperial'''), 'yyyy/mm/dd') as "和暦→西暦" from dual
●実行結果
EEYY年MM月DD日 EYY/MM/DD 和暦→西暦 ------------------ ----------- ---------- 平成24年03月08日 H24/03/08 2011/04/01
このような日付表現をデータベース上で行うのか、プログラム言語上で行うのかは自由です。
和暦表現は、今後変わる可能性も考えておく必要がありますので、
変更が必要になった時に、出来るだけ修正が少なくてすむように実装しておくことをお勧めします。
== ランキングに参加しています。ぜひクリックお願いします ==
新しいiPad発表 [Flex] 一度指定したDateFieldの日付を消す裏ワザ