0

Oracle SQLDeveloper3.0.03を使用しています。ExcelファイルをOracleデータテーブルにアップロードしようとしています。日付にエラーがあります。データベースの列はタイムスタンプであり、「データロードウィザード」の日付形式に何を入力すればよいかわかりません。次の形式を使用すると、次のようになります。'行1の挿入に失敗しましたGDK-05016:重複する月が見つかりました。

dd-mom-yy hh.mm.ss

正しいフォーマットはどうあるべきか考えていますか?

データベースでは、日付列は次のようになります:01-MAY-12 01.16.50.000000000PM

4

2 に答える 2

4

分のコードmimm

(私momは単なるタイプミスであり、実際に読んでいると思いますmon

サポートされているすべてのフォーマットモデルの完全なリストについては、マニュアルを参照してください:http:
//docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements004.htm#CDEHIFJA

于 2012-05-01T20:59:39.937 に答える
0

Excelの「ゼロ」日付は1900年1月0日(はい、ゼロ)です。Oracleは月の「ゼロ」日を処理できないため、Excelの値から1を引く必要があります。したがって、以下はあなたが望むものにあなたを近づけるはずです:

SELECT CAST(TO_DATE('01-JAN-1900 00:00:00', 'DD-MON-YYYY HH24:MI:SS') AS TIMESTAMP) +
           NUMTODSINTERVAL(41017.6361109954 - 1, 'DAY')
  FROM DUAL

「インポート方法」に関する限り、これを行うために私が認識しているOracleの日付形式はありません。最も簡単な方法は、値をNUMBER列にインポートしてから、スクリプトを実行して日付変換を行うことです。

共有してお楽しみください。

于 2012-05-02T17:21:29.947 に答える