Oracle DBにいくつかの挿入を実行する必要があります。次の形式の日付があります
'23.12.2011 13:01:001'
ドキュメントに従って、次のように挿入to_dateを作成しました。
to_date('23.12.2011 13:01:01', 'DD.MM.YYYY HH24:MI:SS')
正常に動作します。今、私はフォーマットでミリ秒の日付を持っています
'23.12.2011 13:01:001'
私は次を試しました:
to_date('23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3')
これは誤りです(エラー01821. 00000-「日付形式が認識されません」を配信します)。
ミリ秒でこの形式に使用する「文字列」はどれですか?
前もって感謝します!
Oracle DATE
は、1秒よりも高い精度で時刻を格納しません。 DATE
列にミリ秒精度のデータを格納することはできません。
あなたの2つのオプションは、ミリ秒の文字列をDATE
に変換する前に切り捨てることです。
to_date( substr('23.12.2011 13:01:001', 1, 19), 'DD.MM.YYYY HH24:MI:SS' )
または、文字列をミリ秒の精度をサポートするTIMESTAMP
に変換します
to_timestamp( '23.12.2011 13:01:001', 'DD.MM.YYYY HH24:MI:SSFF3' )
TO_DATEは、ミリ秒をサポートしないDATEデータ型への変換をサポートします。 Oracleでミリ秒のサポートが必要な場合は、TIMESTAMPデータ型とTO_TIMESTAMP関数を調べる必要があります。
それが役に立てば幸いです。
次の形式を試すことができますSS.FF
ミリ秒:
yyyy-mm-dd HH:MI:SS.FF
詳細については:
https://docs.Oracle.com/cd/B19306_01/server.102/b14200/functions193.htm
3桁のミリ秒の場合:
TO_CHAR(LN_AUTOD_UWRG_DTTM,'MM/DD/YYYY HH24:MI:SS.FF3')
6桁のミリ秒の場合:
TO_CHAR(LN_AUTOD_UWRG_DTTM,'MM/DD/YYYY HH24:MI:SS.FF'),