|
スポンサード リンク
日付データ/文字列データの変換には、TO_DATE関数、TO_CHAR関数、TO_TIMESTAMPを使用する
TO_CHAR(日付データ, 日付書式) |
日付データ を日付書式 の形式の文字列に変換する |
TO_DATE(文字列, 日付書式) |
日付書式 の形式で指定した、文字列 をDATE型に変換する |
TO_TIMESTAMP(文字列, 日付書式) |
日付書式 の形式で指定した、文字列 をTIMESTAMP型に変換する
ORACLE9iより使用可能 |
※TO_CHAR関数の代わりにTO_NCHAR関数を使用すると、NVARCHAR2型のデータが返されます。
日付書式
|
YYYY |
西暦年 4桁 |
YY |
西暦年 下2桁 |
RRRR |
'YYYY'と同じ |
RR |
'YY'と同じ |
MM |
月(01〜12) |
DD |
日(1〜31) |
DDD |
年の始めからの日数(1〜366) |
HH
HH(12) |
時間(1〜12) |
HH(24) |
時間(1〜24) |
MI |
分(0〜59) |
SS |
秒(0〜59) |
SSSSS |
秒(午前0時からの経過秒数) |
FF[1-9] |
ミリ秒 桁数を指定する。3桁の場合はFF3、桁数が無い場合は、システムのデフォルト桁数となる。 |
D |
日曜日を1とした数値化した曜日(月曜日:2 火曜日:3・・・・) |
DY |
曜日を漢字に変換 日、月、火・・・・・ |
E |
元号の省略形 平成:H、昭和:S、大正:T |
EE |
元号 平成、昭和、大正、・・・・ |
EYY |
和暦年の省略形 平成10:H10、昭和25:S25 ・・・・ |
EEYY |
和暦年 平成10、昭和25・・・・ |
|
和暦変換する場合は、変換関数の第3引数に下記指定をする。
'nls_calendar = ''Japanese Imperial'''
スポンサード リンク
例1) システム日付(DATE型)を、年/月/日 時(24時):分:秒 に変換する(TO_CHAR)
|
select
to_char(sysdate,'yyyy/mm/dd hh24:mi:ss')
from dual;
結果は、2006/03/29 20:27:05 のようになります |
例2) システム日付(TIMESTAMP型)を、年/月/日 時(24時):分:秒.ミリ秒 に変換する(TO_CHAR)
|
select
to_char(systimestamp,'yyyy/mm/dd hh24:mi:ss.ff3')
from dual;
結果は、2006/03/29 21:54:31.078 のようになります |
例3) 日付書式”年/月/日 時(24時):分:秒” の文字列をDATE型に変換する(TO_DATE)
|
insert into test_table
values( to_date('2006/02/21 15:35:23','yyyy/mm/dd hh24:mi:ss') );
|
例4) 日付書式”年/月/日 時(24時):分:秒” の文字列をTIMESTAMP型に変換する(TO_TIMESTAMP)
|
insert into test_table
values( to_timestamp('2006/02/21 15:35:23.556','yyyy/mm/dd hh24:mi:ss.ff3')
);
|
例5) システム日付(DATE型)を、和暦変換する(TO_CHAR)
|
select
to_char(sysdate,'eeyy/mm/dd hh24:mi:ss','nls_calendar = ''Japanese Imperial''')
from dual;
結果は、平成18/03/30 00:59:29 のようになります |
例6) 和暦日付’平成17/10/15’から西暦に変換する
|
select
to_char(to_date('平成17/10/15','eeyy/mm/dd','nls_calendar = ''Japanese Imperial'''),'yyyy/mm/dd')
from dual;
結果は、2005/10/15 になります |
和暦から西暦に変換する場合は、DATE型に変換してから、西暦変換します
スポンサード リンク
|