ORACLE TO_CHAR 日付書式で和暦・曜日・月を求める ホームページ制作 | 墨田区

ORACLE TO_CHAR 日付書式で和暦・曜日・月を求める

LINEで送る
Pocket

ORACLEのTO_CHAR日付書式で和暦・曜日・月を求める方法をご紹介します。

TO_CHAR とは、ORACLEで数値、日付、MLSLABEL 値を文字型に変換する関数です。
SQL や PL/SQL で利用できます。各国語キャラセット(NVARCHAR2型)を返す TO_NCHAR 関数というものもあります。使い方はどちらも同じですが、戻り値が違いますので注意しましょう。

ここでは TO_CHARで日付を変換した場合の使い方 をご紹介します。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・



TO_CHARの文法

TO_CHAR ( n [ , fmt [ , ' nlsparams ' ] ] )
n:日付式や文字列式
fmt:日付書式の文字列
nlsparams:各国語サポートパラメータ(シングルクォートが必要)
戻り値:文字型

SYSDATE=2015/08/28 16:45:10とした場合のサンプル値です。

書式サンプル値使い方説明
EYYH27to_char(sysdate,’EYY’,’nls_calendar=”Japanese Imperial”’)和暦略称
EEYY平成27to_char(sysdate,’EEYY’,’nls_calendar=”Japanese Imperial”’)和暦
YYYY2015to_char(sysdate,’YYYY’)西暦(4桁)
YYY015to_char(sysdate,’YYY’)西暦(3桁)
YY15to_char(sysdate,’YY’)西暦(2桁)
Y5to_char(sysdate,’Y’)西暦(1桁)
MM08to_char(sysdate,’MM’)
MON8月 to_char(sysdate,’MON’)月(日本語)
後ろにスペース付加
MONAUGto_char(sysdate,’MON’,’nls_date_language=”AMERICAN”’)月(英語)
DYto_char(sysdate,’DY’)曜日略称(日本語)
DYFRIto_char(sysdate,’DY’,’nls_date_language=”AMERICAN”’)曜日略称(英語)
DAY金曜日to_char(sysdate,’DAY’)曜日(日本語)
DAYFRIDAY to_char(sysdate,’DAY’,’nls_date_language=”AMERICAN”’)曜日(英語)
後ろにスペース付加
DD28to_char(sysdate,’DD’)
HH04to_char(sysdate,’HH’)12時間表記
HH2416to_char(sysdate,’HH24′)24時間表記
AM午後to_char(sysdate,’AM’)午前・午後(日本語)
AMPMto_char(sysdate,’AM’,’nls_date_language=”AMERICAN”’)午前・午後(英語)
MI45to_char(sysdate,’MI’)
SS10to_char(sysdate,’SS’)
WW35to_char(sysdate,’WW’)年初めからの週
W4to_char(sysdate,’W’)月初からの週
D6to_char(sysdate,’D’)週初めからの日数
DDD240to_char(sysdate,’DDD’)年初めからの日数
SSSSS60310to_char(sysdate,’SSSSS’)日にち初めからの秒数

以下の SQL を実行すれば、上記の結果が得られます。

select to_char(sysdate,'YYYY/MM/DD HH24:MI:SS') from dual
union all
select to_char(sysdate,'EYY','nls_calendar=''Japanese Imperial''') from dual
union all
select to_char(sysdate,'EEYY','nls_calendar=''Japanese Imperial''') from dual
union all
select to_char(sysdate,'YYYY') from dual
union all
select to_char(sysdate,'YYY') from dual
union all
select to_char(sysdate,'YY') from dual
union all
select to_char(sysdate,'Y') from dual
union all
select to_char(sysdate,'MM') from dual
union all
select to_char(sysdate,'MON') from dual
union all
select to_char(sysdate,'MON','nls_date_language=''AMERICAN''') from dual
union all
select to_char(sysdate,'DY') from dual
union all
select to_char(sysdate,'DY','nls_date_language=''AMERICAN''') from dual
union all
select to_char(sysdate,'DAY') from dual
union all
select to_char(sysdate,'DAY','nls_date_language=''AMERICAN''') from dual
union all
select to_char(sysdate,'DD') from dual
union all
select to_char(sysdate,'HH') from dual
union all
select to_char(sysdate,'HH24') from dual
union all
select to_char(sysdate,'AM') from dual
union all
select to_char(sysdate,'AM','nls_date_language=''AMERICAN''') from dual
union all
select to_char(sysdate,'MI') from dual
union all
select to_char(sysdate,'SS') from dual
union all
select to_char(sysdate,'WW') from dual
union all
select to_char(sysdate,'W') from dual
union all
select to_char(sysdate,'D') from dual
union all
select to_char(sysdate,'DDD') from dual
union all
select to_char(sysdate,'SSSSS') from dual

まとめ

ORACLEの日付書式の指定方法は色々あります。ここに掲載されていないものもあると思います。間違いや他の使い方などがあればコメントもらえるとうれしいです。


おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL