7

perl を使用して csv ファイルから読み取り、oracle テーブルに挿入します。特定の csv フィールドでは、日付は AM または PM 形式のいずれかになります。したがって、to_date を作成するときに AM/PM を使用していますが、フォーマット コード エラーが発生しています。AM/PM フィールドを受け入れるために to_date に指定する必要があるフォーマットコード。

insert into invoices(invoice_id,invoice_date) values (2,to_date('2010-Aug-09 12:00:01 PM' , 'yyyy-Mon-dd HH:MI:SS AM / PM'));
4

1 に答える 1

13

AM または PMのいずれかを指定できます。試す

SELECT to_date('2010-Aug-09 02:00:01 PM' , 'yyyy-Mon-dd HH:MI:SS AM') "date"
  FROM dual;
SELECT to_date('2010-Aug-09 03:00:01 AM' , 'yyyy-Mon-dd HH:MI:SS PM') "date"
  FROM dual;

出力:

|                          DATE |
---------------------------------
| August, 09 2010 14:00:01+0000 |

|                          DATE |
---------------------------------
| August, 09 2010 03:00:01+0000 |

ここでSQLFiddleデモ

于 2013-06-06T02:01:36.583 に答える