3

yyyy-mm-dd hh24:mi:ss.mmmSQL Developer のデータのインポート ウィザードを使用して、SQL Server でフォーマットされた日付を .tsv ( ) に含むデータを Oracle データベースにインポートしています。

.mmm文字を DATE 列にインポートするために文字を無視するにはどうすればよいですか? これに対する答えが見つからないようです。DATE 列がミリ秒を保持していないことはわかりましたが、TO_DATE 呼び出しで特定のパターンを無視できないのはなぜですか?

また、TO_DATE 呼び出しを生成していないためSUBSTRING、インポート中に .tsv の値を操作できないことにも注意してください。

データのインポート ウィザード - 日付

4

2 に答える 2

1

これを行う必要はありません。日付列に小数秒を追加しようとすると、Oracle は自動的にタイムスタンプを日付に変換します。代わりに使用TO_TIMESTAMP()し、小数秒を受け入れます。

SQL> create table tmp_test (dt date);

Table created.

SQL> insert into tmp_test
  2  select to_timestamp('2015-03-24 13:10:03.654','yyyy-mm-dd hh24:mi:ss.FF3')
  3    from dual;

1 row created.

SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';

Session altered.

SQL> alter session set nls_timestamp_format = 'yyyy-mm-dd hh24:mi:ss.FF3';

Session altered.

SQL> select * from tmp_test;

DT
-------------------
2015-03-24 13:10:03

SQL>
于 2015-03-24T13:13:50.090 に答える