1. ホーム
  2. oracle

[解決済み] ミリ秒を含む日付文字列に対するOracle to_date関数の使用

2022-02-01 03:08:33

質問

私はOracle DBにいくつかの挿入を実行する必要があります。私はいくつかの日付を持っている 以下のフォーマットで

'23.12.2011 13:01:001'

ドキュメントにしたがって、私は挿入を書きました。 日付 を次のようにします。

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')

00000 - "日付のフォーマットが認識されません")と表示されます。

このミリ秒のフォーマットには、どの "String" を使用すればよいのでしょうか?

よろしくお願いします。

どのように解決するのですか?

オラクル 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' )