7

使用 perl 从 csv 文件读取并插入到 oracle 表中。在特定的 csv 字段中,日期可以是 AM 或 PM 格式。因此,当我构造 to_date 时,我使用的是 AM / PM,但它给了我格式代码错误。需要在 to_date 中提供什么格式代码才能接受 AM/PM 字段。

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 回答