プロプログラマ

プログラマーを職業としてます。 Flex,Air,C#,Oracle,HTML+JSの言語ノウハウを中心に情報発信していきます

[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

このような日付表現をデータベース上で行うのか、プログラム言語上で行うのかは自由です。

和暦表現は、今後変わる可能性も考えておく必要がありますので、
変更が必要になった時に、出来るだけ修正が少なくてすむように実装しておくことをお勧めします。

 

== ランキングに参加しています。ぜひクリックお願いします ==

プログラム ブログランキングへ
にほんブログ村 IT技術ブログへ
にほんブログ村

, ,

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください